[
https://issues.apache.org/jira/browse/QPID-3521?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14659832#comment-14659832
]
Alex Rudyy commented on QPID-3521:
----------------------------------
Keith,
We updated the JIRA description about the rationale to acquire
dispatcher/messageDelivery locks in failover thread.
Regarding, your comment about sorting out draining queue functionality. Yes, it
make sense to move it into the corresponding subclasses
> failover process for the 0-8 client does not clear the pre-dispatch queue
> -------------------------------------------------------------------------
>
> Key: QPID-3521
> URL: https://issues.apache.org/jira/browse/QPID-3521
> Project: Qpid
> Issue Type: Bug
> Components: Java Client
> Reporter: Robbie Gemmell
> Assignee: Alex Rudyy
> Labels: failover
> Attachments: clear-dispatch-queue-on-failover.diff
>
>
> 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.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]