[
https://issues.apache.org/jira/browse/ARTEMIS-538?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15300048#comment-15300048
]
ASF GitHub Bot commented on ARTEMIS-538:
----------------------------------------
Github user asfgit closed the pull request at:
https://github.com/apache/activemq-artemis/pull/538
> [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)