Can you create a test case to reproduce this?

You can take a look at

https://fisheye6.atlassian.com/browse/activemq/trunk/activemq-core/src/test/java/org/apache/activemq/usecases/ThreeBrokerQueueNetworkTest.java?hb=true

for a way on how to create such a test

Regards
-- 
Dejan Bosanac - http://twitter.com/dejanb
-----------------
The experts in open source integration and messaging - http://fusesource.com
ActiveMQ in Action - http://www.manning.com/snyder/
Blog - http://www.nighttale.net


On Fri, Jun 24, 2011 at 4:53 AM, Joe Smith <joesmithc...@yahoo.com> wrote:

> Hi,
>
> We have a cluster of 4 brokers (A, B, C, D).  The test scenario is for one
> produce connected to broker A.
>
> 1. producer sends msgs to broker A's queue.
> 2. stop producer. we see pending messages in queue on broker A.
> 3. consumer connect to broker D.  consumer recv msgs.
> 4. stop consumer. we see remaining/pending msgs in queue on brokers D and
> A.
> 5. consumer connect to broker C.  consumer recv msgs.
> 6. stop consumer. we see pending msgs in C and D.  pending msgs on A
> drained to 0.
> 7. consumer connect to broker C, again.   it read all remaining pending msg
> on C and then waiting for more msgs (but not receiving any more).  pending
> msgs on D still remain pending.
> 8. stop consumer on C.
> 9. start consumer on B.  no msg received, but msg are pending on broker D.
>
> The pattern seem to be the msg forwarding only do one hop and then stuck in
> that queue/broker.  When consumer connected to other brokers, the msgs are
> not forwarded.
>
> Broker version: 5.4.2
> Java 1.6
> Linux
>
> broker
>    advisorySupport="true"
>
>         <destinationPolicy>
>             <policyMap>
>               <policyEntries>
>                 <policyEntry topic=">" producerFlowControl="true"
> memoryLimit="1mb">
>                   <pendingSubscriberPolicy>
>                     <vmCursor />
>                   </pendingSubscriberPolicy>
>                 </policyEntry>
>                 <policyEntry queue=">" producerFlowControl="true"
> memoryLimit="1mb">
>                   <!-- Use VM cursor for better latency
>                        For more information, see:
>
>                        http://activemq.apache.org/message-cursors.html
>
>                   <pendingQueuePolicy>
>                     <vmQueueCursor/>
>                   </pendingQueuePolicy>
>                   -->
>                 </policyEntry>
>               </policyEntries>
>             </policyMap>
>         </destinationPolicy>
>
>             <networkConnector
> uri="static:(tcp://host1:61616,tcp://host2:61616,tcp://host3:61616)"
>                         conduitSubscriptions="false"
>                         networkTTL="40"
>                         dynamicOnly="true"
>                         suppressDuplicateQueueSubscriptions="false"
>                         decreaseNetworkConsumerPriority="false"
>                         >
>             </networkConnector>
>
>             <transportConnector name="openwire" uri="tcp://0.0.0.0:61616"
> updateClusterClients="true" updateClusterClientsOnRemove="true"/>
>
> We use prefetchPolicy of 1 but msgs are still stuck.
>
> url=tcp://host1:61616?jms.prefetchPolicy.all=1
>
> This problem seems to affect other settings.  We already have one sys in
> production that showed msgs were stuck and not being re-routed to idle
> consumers.  The app team is considering this a serious issue and want
> resolution or else we will move off ActiveMQ platform.
>
> I'm building another system that showed the same issues.  We need to
> resolve this - else we cannot proceed with ActiveMQ.
>
> Your help is really appreciated.
>
>
>
> Regards
>
>
>

Reply via email to