[ https://issues.apache.org/jira/browse/QPID-3521?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Alex Rudyy updated QPID-3521: ----------------------------- 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. was: 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. > 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: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org