activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Joe Smith <joesmithc...@yahoo.com>
Subject Broker forwards msg only once or twice then msg stuck in queue.
Date Fri, 24 Jun 2011 20:10:06 GMT
Apologize if this is a re-post...

From: Joe Smith <joesmithcomm@yahoo.com>
Subject: Broker forwards msg only once or twice then msg stuck in queue.
To: users@activemq.apache.org
Date: Friday, June 24, 2011, 2:53 AM

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



Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message