activemq-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From clebertsuco...@apache.org
Subject [2/2] activemq-artemis git commit: ARTEMIS-893 Fix FailoverTransactionTest.testWaitForMissingRedeliveries
Date Thu, 15 Dec 2016 22:51:29 GMT
ARTEMIS-893 Fix FailoverTransactionTest.testWaitForMissingRedeliveries


Project: http://git-wip-us.apache.org/repos/asf/activemq-artemis/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq-artemis/commit/8348cdd2
Tree: http://git-wip-us.apache.org/repos/asf/activemq-artemis/tree/8348cdd2
Diff: http://git-wip-us.apache.org/repos/asf/activemq-artemis/diff/8348cdd2

Branch: refs/heads/master
Commit: 8348cdd2b6b9986c07ada93b7de2f5ee390eac6e
Parents: 0c18c34
Author: Howard Gao <howard.gao@gmail.com>
Authored: Thu Dec 15 23:33:01 2016 +0800
Committer: Clebert Suconic <clebertsuconic@apache.org>
Committed: Thu Dec 15 17:51:13 2016 -0500

----------------------------------------------------------------------
 .../failover/FailoverTransactionTest.java       | 78 ++++++++++++--------
 1 file changed, 46 insertions(+), 32 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/8348cdd2/tests/activemq5-unit-tests/src/test/java/org/apache/activemq/transport/failover/FailoverTransactionTest.java
----------------------------------------------------------------------
diff --git a/tests/activemq5-unit-tests/src/test/java/org/apache/activemq/transport/failover/FailoverTransactionTest.java
b/tests/activemq5-unit-tests/src/test/java/org/apache/activemq/transport/failover/FailoverTransactionTest.java
index 2b7895a..d1f91d0 100644
--- a/tests/activemq5-unit-tests/src/test/java/org/apache/activemq/transport/failover/FailoverTransactionTest.java
+++ b/tests/activemq5-unit-tests/src/test/java/org/apache/activemq/transport/failover/FailoverTransactionTest.java
@@ -385,6 +385,7 @@ public class FailoverTransactionTest extends OpenwireArtemisBaseTest {
       LOG.info("Received: " + msg);
       Assert.assertNull("no messges left dangling but got: " + msg, msg);
       connection.close();
+      proxy.close();
    }
 
    @Test
@@ -857,6 +858,7 @@ public class FailoverTransactionTest extends OpenwireArtemisBaseTest {
          broker.stop();
          broker = createBroker();
          broker.start();
+
          Assert.assertNotNull("should get rolledback message from original restarted broker",
consumer.receive(20000));
       } finally {
          connection.close();
@@ -872,45 +874,57 @@ public class FailoverTransactionTest extends OpenwireArtemisBaseTest
{
       ActiveMQConnectionFactory cf = new ActiveMQConnectionFactory("failover:(" + url + ")?jms.consumerFailoverRedeliveryWaitPeriod=30000");
       configureConnectionFactory(cf);
       Connection connection = cf.createConnection();
-      connection.start();
-      final Session producerSession = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
-      final Queue destination = producerSession.createQueue(QUEUE_NAME);
-      final Session consumerSession = connection.createSession(true, Session.SESSION_TRANSACTED);
-      MessageConsumer consumer = consumerSession.createConsumer(destination);
+      try {
+         connection.start();
+         final Session producerSession = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
+         final Queue destination = producerSession.createQueue(QUEUE_NAME);
+         final Session consumerSession = connection.createSession(true, Session.SESSION_TRANSACTED);
+         MessageConsumer consumer = consumerSession.createConsumer(destination);
 
-      produceMessage(producerSession, destination);
-      Message msg = consumer.receive(20000);
-      if (msg == null) {
-         AutoFailTestSupport.dumpAllThreads("missing-");
-      }
-      Assert.assertNotNull("got message just produced", msg);
+         produceMessage(producerSession, destination);
+         Message msg = consumer.receive(20000);
+         if (msg == null) {
+            AutoFailTestSupport.dumpAllThreads("missing-");
+         }
+         Assert.assertNotNull("got message just produced", msg);
 
-      broker.stop();
-      broker = createBroker();
-      broker.start();
+         broker.stop();
+         broker = createBroker();
+         broker.start();
 
-      final CountDownLatch commitDone = new CountDownLatch(1);
-      // will block pending re-deliveries
-      new Thread() {
-         @Override
-         public void run() {
-            LOG.info("doing async commit...");
-            try {
-               consumerSession.commit();
-               commitDone.countDown();
-            } catch (JMSException ignored) {
+         final CountDownLatch commitDone = new CountDownLatch(1);
+         final CountDownLatch gotException = new CountDownLatch(1);
+         // will block pending re-deliveries
+         new Thread() {
+            @Override
+            public void run() {
+               LOG.info("doing async commit...");
+               try {
+                  consumerSession.commit();
+                  commitDone.countDown();
+               }
+               catch (JMSException ignored) {
+                  System.out.println("--->err: got exfeption:");
+                  ignored.printStackTrace();
+                  gotException.countDown();
+               }
+               finally {
+                  commitDone.countDown();
+               }
             }
-         }
-      }.start();
+         }.start();
 
-      broker.stop();
-      broker = createBroker();
-      broker.start();
+         broker.stop();
+         broker = createBroker();
+         broker.start();
 
-      Assert.assertTrue("commit was successful", commitDone.await(30, TimeUnit.SECONDS));
+         Assert.assertTrue("commit was successful", commitDone.await(30, TimeUnit.SECONDS));
+         Assert.assertTrue("got exception on commit", gotException.await(30, TimeUnit.SECONDS));
 
-      Assert.assertNull("should not get committed message", consumer.receive(5000));
-      connection.close();
+         Assert.assertNotNull("should get failed committed message", consumer.receive(5000));
+      } finally {
+         connection.close();
+      }
    }
 
    @Test


Mime
View raw message