[ 
https://issues.apache.org/jira/browse/AMQ-3446?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

VIctor Perepelitsky  updated AMQ-3446:
--------------------------------------

    Description: 
(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





  was:
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






> 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