Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
Description
failover process for the 0-8 client does not clear the pre-dispatch queue, only the consumer receive queue.
This is currently masked by an issue with the rollbackMark. The changes made in QPID-3546 to fix the 0-10 client path need to be applied to the 0-8/9/9-1 client path when this issue is resolved.
We need to clear the pre-dispatch queue on failover. Additionally, we need to acquire dispatcher and messageDelivery locks in failover thread in order to prevent the dispatcher from dispatching pre-fetched messages whilst failover is in progress. If we are not holding the locks, the dispatcher could continue dispatching prefetched messages into MessageListener which would result in unnecessary JMSExceptions on acknowledge/rollback/commit/recover.
Attachments
Attachments
Issue Links
- incorporates
-
QPID-6677 Invocation of Connection#stop from MessageListener with 0-10 AMQP client might result in hang of operation
- Resolved
- is related to
-
QPID-3520 failover process can effectively start the Connection if they are currently stopped
- Resolved
-
QPID-5876 Java client causes unecessary rejects after failover when using 0-8..0-9-1 protocols
- Resolved
-
QPID-6677 Invocation of Connection#stop from MessageListener with 0-10 AMQP client might result in hang of operation
- Resolved