ConduitBridge can malfunction when first of a set of consumers goes away
------------------------------------------------------------------------

         Key: AMQ-776
         URL: https://issues.apache.org/activemq/browse/AMQ-776
     Project: ActiveMQ
        Type: Bug

  Components: Broker  
    Versions: 4.0.1    
    Reporter: Kevin Yaussy
    Priority: Critical
 Attachments: ConduitBridge.patch

When the following scenario is followed, any of the subsequent consumers will 
stop receiving messages.  I've reproduced this using the ConsumerTool, and 
ProducerTool supplied in the example area of the distribution.

+++++++++++++++++++++++
Start Broker A

Start Broker B

Start Consumer 1, connecting to Broker B, consuming FOO

Start Consumer 2, connecting to Broker B, consuming FOO

Start Publisher, connecting to Broker A, publishing FOO

Ctl-C out of Consumer 1

Consumer 2 stops receiving messages
+++++++++++++++++++

Seems to me that ConduitBridge is supposed to track all consumers for a given 
subscription, by way of DemandSubscription.  It is seeding DemandSubscription 
with the originating consumer, but when subsequent consumers are added, the 
ConduitBridge::addToAlreadyInterestedConsumers re-adds the original subscriber 
to the DemandSubscription's map - so the map only ever has the original 
subscription.

I've attached a patch.  Hope the change is good.


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira

Reply via email to