activemq-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Erich Duda (JIRA)" <j...@apache.org>
Subject [jira] [Created] (ARTEMIS-538) [Artemis Testsuite] JMSFailoverListenerTest#testManualFailover fails
Date Wed, 25 May 2016 11:23:12 GMT
Erich Duda created ARTEMIS-538:
----------------------------------

             Summary: [Artemis Testsuite] JMSFailoverListenerTest#testManualFailover fails
                 Key: ARTEMIS-538
                 URL: https://issues.apache.org/jira/browse/ARTEMIS-538
             Project: ActiveMQ Artemis
          Issue Type: Bug
    Affects Versions: 1.2.0
            Reporter: Erich Duda


{code}
java.lang.AssertionError: expected:<FAILURE_DETECTED> but was:<FAILOVER_FAILED>
	at org.junit.Assert.fail(Assert.java:88)
	at org.junit.Assert.failNotEquals(Assert.java:743)
	at org.junit.Assert.assertEquals(Assert.java:118)
	at org.junit.Assert.assertEquals(Assert.java:144)
	at org.apache.activemq.artemis.tests.integration.jms.cluster.JMSFailoverListenerTest.testManualFailover(JMSFailoverListenerTest.java:228)
{code}

I found out that problem is in \[1\]. When events occur consecutive, ordering of their executions
is not guaranteed.

\[1\]
{code:title=ActiveMQConnection.java}
private static class FailoverEventListenerImpl implements FailoverEventListener {

      private final WeakReference<ActiveMQConnection> connectionRef;

      FailoverEventListenerImpl(final ActiveMQConnection connection) {
         connectionRef = new WeakReference<ActiveMQConnection>(connection);
      }

      @Override
      public void failoverEvent(final FailoverEventType eventType) {
         ActiveMQConnection conn = connectionRef.get();

         if (conn != null) {
            try {
               final FailoverEventListener failoverListener = conn.getFailoverListener();

               if (failoverListener != null) {

                  new Thread(new Runnable() {
                     public void run() {
                        failoverListener.failoverEvent(eventType);
                     }
                  }).start();
               }
            }
            catch (JMSException e) {
               if (!conn.closed) {
                  ActiveMQJMSClientLogger.LOGGER.errorCallingFailoverListener(e);
               }
            }
         }

      }
   }
{code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message