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

Cadmean updated AMQ-6835:
-------------------------
    Affects Version/s: 5.15.2
          Description: 
Env:
ActiveMQ version: 5.15.0
8 ActiveMQ Broker to form a mesh topology with "duplex=false messageTTL=-1 
consumerTTL=1". See:

{code:java}
    <networkConnectors>
      <networkConnector uri="static:(tcp://ip1:61616,tcp://ip2:61616,...)" 
duplex="false" messageTTL="-1" dynamicOnly="false" />
    </networkConnectors>
{code}

8000 clients are connected to brokers using 
failover:(tcp://ip1:61616,ip2:61616,ip3:61616,...). These clients are 
non-durable subscribers subscribe to Topics according to there IP addresses. 
For example: client 192.168.10.1 subscribes to TOPIC://VLAN.192.168.10

In this case, I got about 200 topics in my ActiveMQ broker cluster.

The problem is demand forward bridges where not created <b>occasionally</b>. 
For example:
Client 192.168.10.1 is connecting to Broker A and subscribing 
TOPIC://VLAN.192.168.10. 
Producer is connecting to Broker B and sending messages to 
TOPIC://VLAN.192.168.10.
Normally client can receive message, which are sent to Broker B by the 
producer, from Broker A since A and B are in the same cluster. 
However, I found some of the clients in Broker A cannot receive any message. 
When checking the subscribers of the topic, I found the bridge to Broker B is 
missing. 

I realize that whether the demand forward bridge is created depending on 
advisory consumer messages. So I try to receive ConsumerInfo of the client from 
"ActiveMQ.Advisory.Consumer.VLAN.192.168.10" and resend this ConsumerInfo 
message to the same topic "ActiveMQ.Advisory.Consumer.VLAN.192.168.10". 

Then the client could receive messages correctly.

  was:
Env:
ActiveMQ version: 5.13.4
8 ActiveMQ Broker to form a mesh topology with "duplex=false messageTTL=-1 
consumerTTL=1". See:

{code:java}
    <networkConnectors>
      <networkConnector uri="static:(tcp://ip1:61616,tcp://ip2:61616,...)" 
duplex="false" messageTTL="-1" dynamicOnly="false" />
    </networkConnectors>
{code}

8000 clients are connected to brokers using 
failover:(tcp://ip1:61616,ip2:61616,ip3:61616,...). These clients are 
non-durable subscribers subscribe to Topics according to there IP addresses. 
For example: client 192.168.10.1 subscribes to TOPIC://VLAN.192.168.10

In this case, I got about 200 topics in my ActiveMQ broker cluster.

The problem is demand forward bridges where not created <b>occasionally</b>. 
For example:
Client 192.168.10.1 is connecting to Broker A and subscribing 
TOPIC://VLAN.192.168.10. 
Producer is connecting to Broker B and sending messages to 
TOPIC://VLAN.192.168.10.
Normally client can receive message, which are sent to Broker B by the 
producer, from Broker A since A and B are in the same cluster. 
However, I found some of the clients in Broker A cannot receive any message. 
When checking the subscribers of the topic, I found the bridge to Broker B is 
missing. 

I realize that whether the demand forward bridge is created depending on 
advisory consumer messages. So I try to receive ConsumerInfo of the client from 
"ActiveMQ.Advisory.Consumer.VLAN.192.168.10" and resend this ConsumerInfo 
message to the same topic "ActiveMQ.Advisory.Consumer.VLAN.192.168.10". 

Then the client could receive messages correctly.


> DemanForwardBridge not being built occasionally 
> ------------------------------------------------
>
>                 Key: AMQ-6835
>                 URL: https://issues.apache.org/jira/browse/AMQ-6835
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 5.13.4, 5.15.2
>         Environment: SuseLinux 11SP4
> JAVA JDK 1.7
>            Reporter: Cadmean
>
> Env:
> ActiveMQ version: 5.15.0
> 8 ActiveMQ Broker to form a mesh topology with "duplex=false messageTTL=-1 
> consumerTTL=1". See:
> {code:java}
>     <networkConnectors>
>       <networkConnector uri="static:(tcp://ip1:61616,tcp://ip2:61616,...)" 
> duplex="false" messageTTL="-1" dynamicOnly="false" />
>     </networkConnectors>
> {code}
> 8000 clients are connected to brokers using 
> failover:(tcp://ip1:61616,ip2:61616,ip3:61616,...). These clients are 
> non-durable subscribers subscribe to Topics according to there IP addresses. 
> For example: client 192.168.10.1 subscribes to TOPIC://VLAN.192.168.10
> In this case, I got about 200 topics in my ActiveMQ broker cluster.
> The problem is demand forward bridges where not created <b>occasionally</b>. 
> For example:
> Client 192.168.10.1 is connecting to Broker A and subscribing 
> TOPIC://VLAN.192.168.10. 
> Producer is connecting to Broker B and sending messages to 
> TOPIC://VLAN.192.168.10.
> Normally client can receive message, which are sent to Broker B by the 
> producer, from Broker A since A and B are in the same cluster. 
> However, I found some of the clients in Broker A cannot receive any message. 
> When checking the subscribers of the topic, I found the bridge to Broker B is 
> missing. 
> I realize that whether the demand forward bridge is created depending on 
> advisory consumer messages. So I try to receive ConsumerInfo of the client 
> from "ActiveMQ.Advisory.Consumer.VLAN.192.168.10" and resend this 
> ConsumerInfo message to the same topic 
> "ActiveMQ.Advisory.Consumer.VLAN.192.168.10". 
> Then the client could receive messages correctly.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to