[
https://issues.apache.org/jira/browse/QPID-2904?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13088707#comment-13088707
]
Keith Wall commented on QPID-2904:
----------------------------------
Investigation shows that the problem is broker side.
It is race condition between the Mina Acceptor threads processing the commands
and the SubFlushRunner. There is an unlucky timing where the SubFlusherRunner
can be already executing when the MessageStop command arrives. If the
SubFlushRunner has past the point where it checks the Subscription state (if
(subActive==true) in SimpleAMQQueue#attemptDelivery method), it can go on to
put the 'wrong' first message on the wire.
On the slow box, we regularly see the SubFlushRunner yield after the passing if
subActive==true check only to wake up later (whilst the MessageRelease commands
are being processed) and put its message (the wrong message) on the wire
(before the client has sent MessageFlow).
> RollbackOrderTest#testOrderingAfterRollback fails on java.0.10 test profiles
> ----------------------------------------------------------------------------
>
> Key: QPID-2904
> URL: https://issues.apache.org/jira/browse/QPID-2904
> Project: Qpid
> Issue Type: Bug
> Components: Java Broker
> Affects Versions: 0.7, 0.8, 0.9, 0.10, 0.11, 0.12
> Environment: Linux 2.6.9-67.EL #1 Wed Nov 7 13:41:13 EST 2007 i686
> i686 i386 GNU/Linux
> Intel(R) Pentium(R) 4 CPU 3.00GHz
> Reporter: Robbie Gemmell
>
> org.apache.qpid.test.client.RollbackOrderTest#testOrderingAfterRollback fails
> on the java.0.10 test profiles:
> TestName: testOrderingAfterRollback Duration: 8.416
> Incorrect Message Received expected:<0> but
> was:<33>
>
> junit.framework.AssertionFailedError:
> Incorrect Message Received expected:<0> but was:<33>
> at
> org.apache.qpid.test.client.RollbackOrderTest.testOrderingAfterRollback(RollbackOrderTest.java:111)
> at
> org.apache.qpid.test.utils.QpidBrokerTestCase.runBare(QpidBrokerTestCase.java:232)
> at org.apache.qpid.test.utils.QpidTestCase.run(QpidTestCase.java:120)
>
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:[email protected]