[hornetq-commits] JBoss hornetq SVN: r9054 - trunk/tests/src/org/hornetq/tests/integration/cluster/failover.

do-not-reply at jboss.org do-not-reply at jboss.org
Sat Apr 3 12:11:32 EDT 2010


Author: timfox
Date: 2010-04-03 12:11:31 -0400 (Sat, 03 Apr 2010)
New Revision: 9054

Modified:
   trunk/tests/src/org/hornetq/tests/integration/cluster/failover/DelayInterceptor2.java
   trunk/tests/src/org/hornetq/tests/integration/cluster/failover/FailoverTest.java
Log:
fixed largemessage failovertest?

Modified: trunk/tests/src/org/hornetq/tests/integration/cluster/failover/DelayInterceptor2.java
===================================================================
--- trunk/tests/src/org/hornetq/tests/integration/cluster/failover/DelayInterceptor2.java	2010-04-03 15:34:45 UTC (rev 9053)
+++ trunk/tests/src/org/hornetq/tests/integration/cluster/failover/DelayInterceptor2.java	2010-04-03 16:11:31 UTC (rev 9054)
@@ -13,6 +13,9 @@
 
 package org.hornetq.tests.integration.cluster.failover;
 
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.TimeUnit;
+
 import org.hornetq.api.core.HornetQException;
 import org.hornetq.api.core.Interceptor;
 import org.hornetq.core.logging.Logger;
@@ -32,6 +35,8 @@
    private static final Logger log = Logger.getLogger(DelayInterceptor2.class);
 
    private volatile boolean loseResponse = true;
+   
+   private CountDownLatch latch = new CountDownLatch(1);
 
    public boolean intercept(final Packet packet, final RemotingConnection connection) throws HornetQException
    {
@@ -40,6 +45,8 @@
          // Lose the response from the commit - only lose the first one
 
          loseResponse = false;
+         
+         latch.countDown();
 
          return false;
       }
@@ -48,4 +55,9 @@
          return true;
       }
    }
+   
+   public boolean await() throws InterruptedException
+   {
+      return latch.await(10, TimeUnit.SECONDS);
+   }
 }

Modified: trunk/tests/src/org/hornetq/tests/integration/cluster/failover/FailoverTest.java
===================================================================
--- trunk/tests/src/org/hornetq/tests/integration/cluster/failover/FailoverTest.java	2010-04-03 15:34:45 UTC (rev 9053)
+++ trunk/tests/src/org/hornetq/tests/integration/cluster/failover/FailoverTest.java	2010-04-03 16:11:31 UTC (rev 9054)
@@ -1232,8 +1232,6 @@
          Assert.assertEquals(XAException.XA_RBOTHER, e.errorCode);
       }
 
-      // Thread.sleep(30000);
-
       session1.close();
 
       session2.close();
@@ -1382,7 +1380,7 @@
       sf.setBlockOnNonDurableSend(true);
       sf.setBlockOnDurableSend(true);
 
-      final int numSessions = 10;
+      final int numSessions = 5;
 
       final int numConsumersPerSession = 5;
 
@@ -1811,8 +1809,6 @@
 
          setBody(i, message);
 
-         System.out.println("Durable = " + message.isDurable());
-
          message.putIntProperty("counter", i);
 
          producer.send(message);
@@ -1957,14 +1953,14 @@
 
          producer.send(message);
       }
-
+      
       class Committer extends Thread
       {
+         DelayInterceptor2 interceptor = new DelayInterceptor2();
+         
          @Override
          public void run()
          {
-            Interceptor interceptor = new DelayInterceptor2();
-
             try
             {
                sf.addInterceptor(interceptor);
@@ -1998,19 +1994,25 @@
       }
 
       Committer committer = new Committer();
+      
+      //Commit will occur, but response will never get back, connetion is failed, and commit should be unblocked
+      //with transaction rolled back
 
       committer.start();
 
+      //Wait for the commit to occur and the response to be discarded
+      assertTrue(committer.interceptor.await());
+      
       Thread.sleep(500);
-
+      
       fail(session, latch);
 
       committer.join();
-
+      
       Assert.assertFalse(committer.failed);
 
       session.close();
-
+      
       ClientSession session2 = sf.createSession(false, false);
 
       producer = session2.createProducer(FailoverTestBase.ADDRESS);
@@ -2036,7 +2038,7 @@
       }
 
       session2.commit();
-
+      
       ClientConsumer consumer = session2.createConsumer(FailoverTestBase.ADDRESS);
 
       session2.start();



More information about the hornetq-commits mailing list