After you get into a "hung" state, if you restart all brokers does everything work correctly? In other words, is the problem with the dynamic refresh of the configuration, or is the configuration itself the problem?
When you're in the "hung" state on a particular broker, how many consumers do you see on the queue when you look in JConsole? Since there are now 4 - 1 = 3 brokers and no non-broker consumers on this broker, I would expect to see 2 brokers as the only consumers. Look at the MBean attributes for each consumer, and look at whether messages are being routed to each other broker as you would expect? What is the dispatched count for each? Are any brokers in Producer Flow Control? And why do you have a prefetch buffer of 1 for broker-to-broker connections? On Feb 15, 2016 5:25 AM, "Lucas Dias" <lucas.d...@ceabs.com.br> wrote: > Hello, > > I would like to discuss the following scenario: > > I have a 4 broker network, each one connects to the other. > > All the connections are static, I use the runtineConfiguration plugin to > poll the file for broker addition and removal. The activemq.xml can be > changed by chef dynamically. > > When I start the broker everything works perfectly, the network forwards > messages to the ones that have a consumer. However, when I have less > consumers than brokers, 2, for instance for a particular queue, after an > instance is removed, the queues that have no consumers hang and do not > forward messages to the ones containing consumers. > > I've tried everything: Filling the activemq with an empty networkConnectors > session to drop all connections (Which was succesfully done) but no > progress > was made. After the new network connectors start the messages in the > brokers > with no consumers are forwarded very slowly (100 a time, or the consumer > prefetch I am using). > > Has anyone ever had a similar issue? > > Thank you in advance. > > Here are a few useful data: > > --- > Broker plugin refresh: > > > <runtimeConfigurationPlugin checkPeriod="1000" /> > </plugins> > > --- > Network connector configuration (I am using opsworks and chef, so instance > runs in a foreach): > > <networkConnector name="<%= instance['private_ip'] %>_<%= > node['opsworks']['instance']['private_ip'] %>" dynamicOnly="true" > prefetchSize="1" networkTTL="10" duplex="true" > uri="static:(failover:tcp://<%= instance['private_ip'] > %>:61616)?connectionTimeout=10000"> > <dynamicallyIncludedDestinations> > <queue physicalName=">"/> > </dynamicallyIncludedDestinations> > </networkConnector> > > > > > > -- > View this message in context: > http://activemq.2283324.n4.nabble.com/Queue-hanging-with-n-to-n-network-of-brokers-tp4707499.html > Sent from the ActiveMQ - User mailing list archive at Nabble.com. >