we have 3 brokers setup as a mesh topology, each broker have 60k clients and
every one client subscribe and publish a diferent topic with the client id
in topic, so we have 60k*2= 120k topic for one broker, we found after 60k
clients was connected, we need to wait a very long time to synchronize the
consumer info between the network connector. we got below block in thread
dump,other wise the message can not arrive to the consumers. Hope anyone
can help.
"ActiveMQ NIO Worker 35" daemon prio=10 tid=0x00007fe8a0045000 nid=0xfd68
runnable [0x00007fe87baea000]
java.lang.Thread.State: RUNNABLE
at java.util.ArrayList.addAll(ArrayList.java:559)
at
org.apache.activemq.command.ConsumerInfo.getNetworkConsumerIds(ConsumerInfo.java:437)
- locked <0x000000059ba55af0> (a
org.apache.activemq.command.ConsumerInfo)
at
org.apache.activemq.network.DemandForwardingBridgeSupport.duplicateSuppressionIsRequired(DemandForwardingBridgeSupport.java:1218)
at
org.apache.activemq.network.DemandForwardingBridgeSupport.addConsumerInfo(DemandForwardingBridgeSupport.java:1184)
at
org.apache.activemq.network.DemandForwardingBridgeSupport.serviceRemoteConsumerAdvisory(DemandForwardingBridgeSupport.java:772)
- locked <0x0000000540026840> (a java.net.URI)
at
org.apache.activemq.network.DemandForwardingBridgeSupport.serviceRemoteCommand(DemandForwardingBridgeSupport.java:610)
at
org.apache.activemq.network.DemandForwardingBridgeSupport$3.onCommand(DemandForwardingBridgeSupport.java:225)
at
org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:116)
at
org.apache.activemq.transport.MutexTransport.onCommand(MutexTransport.java:50)
at
org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:125)
at
org.apache.activemq.transport.AbstractInactivityMonitor.onCommand(AbstractInactivityMonitor.java:300)
at
org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83)
at
org.apache.activemq.transport.nio.NIOTransport.serviceRead(NIOTransport.java:156)
at
org.apache.activemq.transport.nio.NIOTransport$1.onSelect(NIOTransport.java:80)
at
org.apache.activemq.transport.nio.SelectorSelection.onSelect(SelectorSelection.java:97)
at
org.apache.activemq.transport.nio.SelectorWorker$1.run(SelectorWorker.java:119)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
--
View this message in context:
http://activemq.2283324.n4.nabble.com/wait-a-very-long-time-to-synchronize-the-consumer-info-between-the-network-connector-if-we-have-a-lo-tp4711822.html
Sent from the ActiveMQ - Dev mailing list archive at Nabble.com.