activemq-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "james (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (AMQ-6456) Exclusive consumer may stop consuming in broker network
Date Wed, 05 Oct 2016 14:59:20 GMT

    [ 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)

Mime
View raw message