[
https://issues.apache.org/activemq/browse/AMQ-2579?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Gary Tully updated AMQ-2579:
----------------------------
Attachment: testCase.patch
Test case for this issue
> Failover connection recovery needs a new command to indicate recovery
> completion that can gate dispatch on a recovered consumer
> -------------------------------------------------------------------------------------------------------------------------------
>
> Key: AMQ-2579
> URL: https://issues.apache.org/activemq/browse/AMQ-2579
> Project: ActiveMQ
> Issue Type: Improvement
> Components: Broker
> Affects Versions: 5.3.0
> Reporter: Gary Tully
> Assignee: Gary Tully
> Fix For: 5.4.0
>
> Attachments: testCase.patch
>
>
> Unconsumed messages at a consumer need to be rolledback on recovery as they
> can get redispatched in arbitrary order. see -
> https://issues.apache.org/activemq/browse/AMQ-2573
> As operations are in progress, like a send transaction, the rollback cannot
> happen till the send transaction commit completes so it must be async with
> the failover interruption. Dispatch needs to be gated on completion of the
> outstanding operations as it currently is with the resolution to AMQ-2573
> However there is the possibility that the broker starts to dispatch to that
> consumer/connection before recovery is complete and can block the receipt of
> messages, the response to the send commit for example as the dispatch is
> waiting for the send to complete so that any unconsumed messages are
> rolledback in advance of dispatch. With asyncDispatch=false and
> optimizedDispatch it is possible to simulate this.
> The solution requires two wireformat changes, An indication on a connection
> that it is recovering (this can be propagated to a consumer) and an
> indication that recovery is complete such that dispatch on a recovered
> consumer can complete. An additional AckMode AckRecoveryComplete could do it.
> Thus dispatch would be gated such that it cannot interfere with outstanding
> work that needs to be restored and completed inorder to correctly clear
> unconsumed and delivered messages.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.