[ 
https://issues.apache.org/jira/browse/AMQ-3446?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13083057#comment-13083057
 ] 

Michael Zamir commented on AMQ-3446:
------------------------------------

Nice work Victor:)

In my words:
we have 3 brokers, A, B and C.
Each of them is connected to the other in a network connector

<broker name="A" >
     <networkConnector name="toBrokerB" uri="static:(tcp://brokerB:61618" 
networkTTL="*2*" />
     <networkConnector name="toBrokerC" uri="static:(tcp://brokerC:61618" 
networkTTL="*2*" />
</broker>

<broker name="B" >
     <networkConnector name="toBrokerA" uri="static:(tcp://brokerA:61618" 
networkTTL="*2*" />
     <networkConnector name="toBrokerC" uri="static:(tcp://brokerC:61618" 
networkTTL="*2*" />
</broker>

<broker name="C" >
     <networkConnector name="toBrokerA" uri="static:(tcp://brokerA:61618" 
networkTTL="*2*" />
     <networkConnector name="toBrokerB" uri="static:(tcp://brokerB:61618" 
networkTTL="*2*" />
</broker>



Client is registered on topic X into brokerA
*brokerA* then register on topic X to *broker B*
*brokerB* then register on topic X to *broker C*


Produce message to *brokerC* will work.
But then, if you stop *brokerB* and send/produce message to topic X on 
*brokerC*, the client consumer won't receive the message.




> Network of brokers does not pass messages when networkTTL is bigger then 1
> --------------------------------------------------------------------------
>
>                 Key: AMQ-3446
>                 URL: https://issues.apache.org/jira/browse/AMQ-3446
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 5.4.1, 5.4.2, 5.5.0
>            Reporter: VIctor Perepelitsky 
>              Labels: broker, network, networkBridge, networkConnector, ttl
>         Attachments: activemqTest.zip
>
>
> (Unit test is attached to prove the case)
> Given 3 brokers A, B and C.
> Each broker is connected to the others by a network bridge (so we have 3 
> brokers that are connected to each other)
> The networkTTL is 2 on all network connectors.
> Start broker A and B
> Subscribe consumer on A
> Start Broker C
> Stop Broker B
> Publish message to C
> Expected result:
> The consumer that is subscribed on A receives the message
> Actual result:
> Sometimes it works and sometimes the consumer does not receive the message.
> Additional info:
> From my understanding the problem appears since a broker subscribes as a 
> consumer to other brokers only when there is a consumer that subscribed to 
> this broker, but it does not try to renew subscription to other brokers when 
> some (another) broker in its network fails (or stopped). 
> So we see the following situation:
> Client subscribed on topic X on A, A subscribed on topic X on B, B subscribed 
> on topic X on C
> When we stop B, A does not subscribe on topic X on C and the message of topic 
> X cannot pass from C to A.
> This BUG does not occur when networkTTL is 1 because subscription route in a 
> network will be not be greater then 2

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to