Hi, I'm using activemq 5.13.3. I'm seeing the producer count on the broker side keeps increasing and never shrinks. I inspected the value TotalProducerCount of the broker via jmx. And it is also verified by the class count of org.apache.activemq.broker.jmx.ProducerView in jvm heap class histogram. We found the session.createProducer() method got slower and slower at the client side if we keep activemq running for long time. We checked all other metrics both activemq and the server where it runs and could not find any other thing abnormal. The stack of the activemq server shows many of the threads are doing this: java.lang.Thread.State: WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x00007fcfdb2edeb8> (a java.util.concurrent.locks.ReentrantLock$NonfairSync) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186) at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:834) at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:867) at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1197) at java.util.concurrent.locks.ReentrantLock$NonfairSync.lock(ReentrantLock.java:214) at java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:290) at java.util.concurrent.CopyOnWriteArrayList.addIfAbsent(CopyOnWriteArrayList.java:585) at java.util.concurrent.CopyOnWriteArraySet.add(CopyOnWriteArraySet.java:248) at org.apache.activemq.broker.jmx.ManagedRegionBroker.registerProducer(ManagedRegionBroker.java:384) at org.apache.activemq.broker.jmx.ManagedRegionBroker.addProducer(ManagedRegionBroker.java:268) at org.apache.activemq.broker.CompositeDestinationBroker.addProducer(CompositeDestinationBroker.java:56) at org.apache.activemq.broker.BrokerFilter.addProducer(BrokerFilter.java:108) at org.apache.activemq.broker.MutableBrokerFilter.addProducer(MutableBrokerFilter.java:113) at org.apache.activemq.broker.TransportConnection.processAddProducer(TransportConnection.java:618) at org.apache.activemq.command.ProducerInfo.visit(ProducerInfo.java:108) at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:338) at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:188) 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.tcp.TcpTransport.doRun(TcpTransport.java:233) at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:215) at java.lang.Thread.run(Thread.java:745)
The TotalProducerCount is more than 120000 when I checked it last time. If I restart the activemq, the session.createProducer() becomes very quicks at client side. I also noticed the TotalConnectionsCount also increases with the TotalProducerCount. So looks there is some connection/producer leak at server side. How should I handle this? -- View this message in context: http://activemq.2283324.n4.nabble.com/Producer-count-keeps-increasing-tp4714087.html Sent from the ActiveMQ - User mailing list archive at Nabble.com.