QueueBrowserAutoAckTest#testFailoverWithQueueBrowser fails with the 0-10 Java
client
------------------------------------------------------------------------------------
Key: QPID-3008
URL: https://issues.apache.org/jira/browse/QPID-3008
Project: Qpid
Issue Type: Bug
Components: Java Client
Affects Versions: 0.8
Reporter: Andrew Kennedy
Assignee: Andrew Kennedy
In the 0-10 Java client when a QueueBrowser returns an Enumeration, and it is
being enumerated over while the connection fails over, the consumer cannot tell
that failover is ocurring and sends messages with incorrect subscriber tag
numbers to the broker. The BasicMessageConsumer_0_10 uses the shared
BasicMessageConsumer#acquireReceiving(boolean) method which tries to call
AMQConnection#isFailingOver() and #blockUntilNotFailingOver() and receives
incorrect results. This is because AMQConnectionDelegate_0_10 does not start a
FailoverHandler continuation and therefore the
AMQProtocolHandler#setFailoverLatch(CountdownLatch) and associated methods are
never called.
To correct this behaviour update the connection close method of the 0-10
delegate to create the latch, attempt failover and then decrement and remove
the latch on success.
QueueBrowserAutoAckTest#testFailoverWithQueueBrowser() is excluded from the
cpp.noprefetch profile.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:[email protected]