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

ying commented on AMQ-2135:
---------------------------

try suppressDuplicateQueueSubscriptions="true" on the networkConnector in the 
conf, this issue seems fixed from 5.3 see 
http://activemq.apache.org/networks-of-brokers.html by default this attribute 
is false so you will still experience stuck message on a network of broker 
bridged by multicast

> network of brokers distributes messages to brokers with 0 consumers with 
> dynamicOnly=true set
> ---------------------------------------------------------------------------------------------
>
>                 Key: AMQ-2135
>                 URL: https://issues.apache.org/activemq/browse/AMQ-2135
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 5.2.0
>         Environment: linux (centos 4.6) using ActiveMQ 5.2.0 binary 
> distribution
>            Reporter: Don Hoffman
>         Attachments: AMQ-2135-022010.patch, AMQ-2135-Patch-03182009.patch, 
> AMQ-2135-UnitTest.patch, AMQ2135Test.java, testamq1.log, testamq2.log, 
> testamq3.log
>
>
> using only the example code, the 5.2.0 release can be made to distribute 
> messages to brokers with no consumers, which remain at those brokers and are 
> never consumed, unless a consumer later connects specifically to those 
> brokers.
> this bug is not reproducible in 5.1.0.
> to reproduce:
> run 3 brokers.  connect a consumer to brokers 1 and 2.  connect a producer to 
> broker 1.  not all messages produced will be received by the 2 consumers.  
> note that the specific brokers connected to matters for the 3-broker case.  
> for example, on my machine, if the producer connects to broker 2 instead of 
> broker 1, all messages are received.  you may need to try various 
> combinations of consumer/producer connections to reproduce the problem, but 
> this specific setup breaks reliably for me.
> this problem becomes more pronounced and easier to reproduce as the number of 
> brokers increases.
> specific configuration used to reproduce:
> 3 broker config xml files:
> testamq1.xml
> <beans
>   xmlns="http://www.springframework.org/schema/beans";
>   xmlns:amq="http://activemq.apache.org/schema/core";
>   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>   xsi:schemaLocation="http://www.springframework.org/schema/beans 
> http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
>   http://activemq.apache.org/schema/core 
> http://activemq.apache.org/schema/core/activemq-core.xsd
>   http://activemq.apache.org/camel/schema/spring 
> http://activemq.apache.org/camel/schema/spring/camel-spring.xsd";>
>   <broker brokerName="b1" xmlns="http://activemq.apache.org/schema/core"; 
> useJmx="false" advisorySupport="true">
>     <persistenceAdapter>
>       <amqPersistenceAdapter directory="activemq-data1" maxFileLength="32mb"/>
>     </persistenceAdapter>
>     <transportConnectors>
>       <transportConnector uri="tcp://localhost:61616"/>
>     </transportConnectors>
>     <networkConnectors>
>       <networkConnector 
> uri="static://(tcp://localhost:61617,tcp://localhost:61618)" 
> dynamicOnly="true" networkTTL="5"/>
>     </networkConnectors>
>   </broker>
> </beans>
> testamq2.xml
> <beans
>   xmlns="http://www.springframework.org/schema/beans";
>   xmlns:amq="http://activemq.apache.org/schema/core";
>   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>   xsi:schemaLocation="http://www.springframework.org/schema/beans 
> http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
>   http://activemq.apache.org/schema/core 
> http://activemq.apache.org/schema/core/activemq-core.xsd
>   http://activemq.apache.org/camel/schema/spring 
> http://activemq.apache.org/camel/schema/spring/camel-spring.xsd";>
>   <broker brokerName="b2" xmlns="http://activemq.apache.org/schema/core"; 
> useJmx="false" advisorySupport="true">
>     <persistenceAdapter>
>       <amqPersistenceAdapter directory="activemq-data2" maxFileLength="32mb"/>
>     </persistenceAdapter>
>     <transportConnectors>
>       <transportConnector uri="tcp://localhost:61617"/>
>     </transportConnectors>
>     <networkConnectors>
>       <networkConnector 
> uri="static://(tcp://localhost:61616,tcp://localhost:61618)" 
> dynamicOnly="true" networkTTL="5"/>
>     </networkConnectors>
>   </broker>
> </beans>
> testamq3.xml
> <beans
>   xmlns="http://www.springframework.org/schema/beans";
>   xmlns:amq="http://activemq.apache.org/schema/core";
>   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>   xsi:schemaLocation="http://www.springframework.org/schema/beans 
> http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
>   http://activemq.apache.org/schema/core 
> http://activemq.apache.org/schema/core/activemq-core.xsd
>   http://activemq.apache.org/camel/schema/spring 
> http://activemq.apache.org/camel/schema/spring/camel-spring.xsd";>
>   <broker brokerName="b3" xmlns="http://activemq.apache.org/schema/core"; 
> useJmx="false" advisorySupport="true">
>     <persistenceAdapter>
>       <amqPersistenceAdapter directory="activemq-data3" maxFileLength="32mb"/>
>     </persistenceAdapter>
>     <transportConnectors>
>       <transportConnector uri="tcp://localhost:61618"/>
>     </transportConnectors>
>     <networkConnectors>
>       <networkConnector 
> uri="static://(tcp://localhost:61616,tcp://localhost:61617)" 
> dynamicOnly="true" networkTTL="5"/>
>     </networkConnectors>
>   </broker>
> </beans>
> run 3 brokers:
> bin/activemq xbean:testamq1.xml
> bin/activemq xbean:testamq2.xml
> bin/activemq xbean:testamq3.xml
> run 2 consumers (from examples directory):
> ant consumer -Durl="failover:(tcp://localhost:61616)" -Dsubject="test.queue" 
> -Dmax=100 -DsleepTime=3
> ant consumer -Durl="failover:(tcp://localhost:61617)" -Dsubject="test.queue" 
> -Dmax=100 -DsleepTime=3
> run 1 producer (from examples directory) with 10 messages:
> ant producer -Durl="failover:(tcp://localhost:61616)" -Dsubject="test.queue" 
> -Dmax=10
> consumers will not receive all messages.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to