try setting equalness to false, see if we can do better
authorfhanik <fhanik@13f79535-47bb-0310-9956-ffa450edef68>
Thu, 28 Jun 2007 21:21:37 +0000 (21:21 +0000)
committerfhanik <fhanik@13f79535-47bb-0310-9956-ffa450edef68>
Thu, 28 Jun 2007 21:21:37 +0000 (21:21 +0000)
git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@551702 13f79535-47bb-0310-9956-ffa450edef68

java/org/apache/catalina/tribes/group/interceptors/OrderInterceptor.java
test/org/apache/catalina/tribes/test/io/TestSenderConnections.java

index f92398b..16432d1 100644 (file)
@@ -61,8 +61,8 @@ public class OrderInterceptor extends ChannelInterceptorBase {
     private boolean forwardExpired = true;
     private int maxQueue = Integer.MAX_VALUE;
     
-    ReentrantReadWriteLock inLock = new ReentrantReadWriteLock(true);
-    ReentrantReadWriteLock outLock= new ReentrantReadWriteLock(true);
+    ReentrantReadWriteLock inLock = new ReentrantReadWriteLock(false);
+    ReentrantReadWriteLock outLock= new ReentrantReadWriteLock(false);
 
     public void sendMessage(Member[] destination, ChannelMessage msg, InterceptorPayload payload) throws ChannelException {
         if ( !okToProcess(msg.getOptions()) ) {
index 553e1cf..6b52f9b 100644 (file)
@@ -29,6 +29,9 @@ import java.io.Serializable;
 import java.util.Random;
 import java.util.HashMap;
 import org.apache.catalina.tribes.transport.ReplicationTransmitter;
+import org.apache.catalina.tribes.membership.MemberImpl;
+import org.apache.catalina.tribes.transport.DataSender;
+import org.apache.catalina.tribes.transport.AbstractSender;
 
 public class TestSenderConnections extends TestCase {
     private static int count = 2;
@@ -68,6 +71,15 @@ public class TestSenderConnections extends TestCase {
         sendMessages(0,15000);
     }
     
+    public void testSendToNonExistent() throws Exception {
+        ReplicationTransmitter transmitter = (ReplicationTransmitter) channels[0].getChannelSender();
+        AbstractSender sender = (AbstractSender)transmitter.getTransport();
+        sender.setMaxRetryAttempts(0);
+        sender.setTimeout(60000);
+        MemberImpl impl = new MemberImpl("127.0.0.1",9443,1000,new byte[]{1,2,3,4,5,6,7,8,1,2,3,4,5,6,7,8});
+        channels[0].send(new Member[]{impl},new TestMsg(),0);
+    }
+    
     public void testKeepAliveCount() throws Exception {
         System.out.println("Setting keep alive count to 0");
         for (int i = 0; i < channels.length; i++) {