Return-Path: Delivered-To: apmail-activemq-dev-archive@www.apache.org Received: (qmail 62883 invoked from network); 18 Mar 2009 17:49:11 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 18 Mar 2009 17:49:11 -0000 Received: (qmail 97707 invoked by uid 500); 18 Mar 2009 17:49:10 -0000 Delivered-To: apmail-activemq-dev-archive@activemq.apache.org Received: (qmail 97684 invoked by uid 500); 18 Mar 2009 17:49:10 -0000 Mailing-List: contact dev-help@activemq.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@activemq.apache.org Delivered-To: mailing list dev@activemq.apache.org Received: (qmail 97673 invoked by uid 99); 18 Mar 2009 17:49:10 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 18 Mar 2009 10:49:10 -0700 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.140] (HELO brutus.apache.org) (140.211.11.140) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 18 Mar 2009 17:49:03 +0000 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id 4D795234C003 for ; Wed, 18 Mar 2009 10:48:43 -0700 (PDT) Message-ID: <2022746754.1237398523290.JavaMail.jira@brutus> Date: Wed, 18 Mar 2009 10:48:43 -0700 (PDT) From: "ying (JIRA)" To: dev@activemq.apache.org Subject: [jira] Updated: (AMQ-2135) network of brokers distributes messages to brokers with 0 consumers with dynamicOnly=true set In-Reply-To: <955609518.1235180939398.JavaMail.jira@brutus> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: ae95407df07c98740808b2ef9da0087c X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/activemq/browse/AMQ-2135?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] ying updated AMQ-2135: ---------------------- Attachment: AMQ-2135-Patch-03182009.patch this AMQ-2135-Patch-03182009.patch fixes the issue. Junit test is passed, test 4 brokers, with producer rotate on each one. Note: ConduitBridge.java has change for AMQ-2104, please ignore that. I generate mine on 5.2.0 tag version. Also subscriptionMapByRemoteId is not used by this bridge so i override the parent method to get rid of putting consumer into it. It will never be removed. Please review this and apply to trunk once considering this is a valid fix. > 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-Patch-03182009.patch, AMQ-2135-UnitTest.patch, 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 > 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"> > > > > > > > > > > > > > testamq2.xml > 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"> > > > > > > > > > > > > > testamq3.xml > 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"> > > > > > > > > > > > > > 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.