[
https://issues.apache.org/jira/browse/AMQ-6456?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15548999#comment-15548999
]
james commented on AMQ-6456:
----------------------------
For testing, i used a queue and two brokers in a network. note that the
messageTTL on the DiscoveryNetworkConnector must be set high enough to allow
the messages to be moved back and forth. i dumped ~300 messages on the queue
and setup an exclusive consumer on each broker (so only one consumer will be
actively consuming the messages). the consumer is artificially slow in
consuming the messages (waits a few seconds per message) so that you can test
the handling of messages as the consumers move. i then restart the consumers
periodically, which causes the "chosen" consumer to shift between the brokers.
without the patch, you will eventually end up in a situation where the "chosen"
consumer is local to one node, but all the messages are on the other node.
however, the ConditionalNetworkForwardingBridge will refuse to forward the
messages to the other broker because a local consumer exists (even though it
isn't the "chosen" one).
> Exclusive consumer may stop consuming in broker network
> -------------------------------------------------------
>
> Key: AMQ-6456
> URL: https://issues.apache.org/jira/browse/AMQ-6456
> Project: ActiveMQ
> Issue Type: Bug
> Components: Broker
> Affects Versions: 5.9.1, 5.14.1
> Reporter: james
> Priority: Critical
> Attachments: exclusive_consumer_patch.txt
>
>
> When exclusive consumers are restarted in a network of brokers, the "chosen"
> consumer may shift from one broker to the next. In order for existing
> messages to be consumed, they must be forwarded from the broker on which they
> currently exist to the broker on which the chosen consumer now resides.
> However, the ConditionalNetworkBridgeFilter incorrectly decides that it
> should not forward the messages and they end up getting stuck on the old
> broker.
> We found the issue in 5.9.1, but the relevant code looks unchanged in the
> current 5.x release.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)