[ 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.