activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kevin Yaussy (JIRA)" <j...@apache.org>
Subject [jira] Commented: (AMQ-776) ConduitBridge can malfunction when first of a set of consumers goes away
Date Fri, 07 Jul 2006 19:43:51 GMT
    [ https://issues.apache.org/activemq/browse/AMQ-776?page=comments#action_36535 ] 

Kevin Yaussy commented on AMQ-776:
----------------------------------

I found another scenario, but have not had time to discover whether it is due to problem in
ConduitBridge or not.  But, it seems likely:

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

Start Publisher, connecting to Broker A, publishing FOO

Start Broker B

Start Consumer, connecting to Broker B, consuming FOO (needs to use failover on connect url,
but just connect to Broker B)

kill-9 Broker B

Restart Broker B

Consumer no longer gets FOO
+++++++++++++++++++++++++++++++++

This problem happens regardless of whether the patched ConduitBridge code is used. 

> 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


Mime
View raw message