I am seeing a queue being blocked in both ActiveMQMessageProducer.send() and ActiveMQMessageConsumer.close() and no more messages can be produced or consumed. The test case involved a client sending a single message to a queue every 10 minutes. Another client consumed the message and produced a new message on another queue, to be consumed by the first client. Everything worked fine for a few hours without any problems and then the clients would get blocked.
If useAsyncSend is false, both producer.send and consumer.close were blocked. If useAsyncSend is false, only consumer.close was blocked. Environment: - ActiveMQ 4.1.0 on Linux RedHat - Persistent transacted messages - JournaledJDBC with Derby - Mule 1.3.1 This problem is readily reproducible on ActiveMQ 4.1.0 but cannot be reproduced on ActiveMQ 3.2.2. Thread dump of the first client with useAsyncSend=false: "jmsConnector.jms.setTag.queue.receiver.1" prio=1 tid=0xada123f8 nid=0xac76dbb0 [EMAIL PROTECTED] in Object.wait() [ac76c000..ac76d170] at java.lang.Object.wait(Native Method) - waiting on <0xd105d2b0> (a edu.emory.mathcs.backport.java.util.concurrent.locks.CondVar) at java.lang.Object.wait(Object.java:429) at edu.emory.mathcs.backport.java.util.concurrent.locks.CondVar.await(CondVar.java:76) - locked <0xd105d2b0> (a edu.emory.mathcs.backport.java.util.concurrent.locks.CondVar) at edu.emory.mathcs.backport.java.util.concurrent.ArrayBlockingQueue.take(ArrayBlockingQueue.java:319) at org.apache.activemq.transport.FutureResponse.getResult(FutureResponse.java:42) at org.apache.activemq.transport.ResponseCorrelator.request(ResponseCorrelator.java:75) at org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1171) at org.apache.activemq.ActiveMQSession.syncSendPacket(ActiveMQSession.java:1660) at org.apache.activemq.ActiveMQMessageConsumer.close(ActiveMQMessageConsumer.java:541) at org.mule.providers.jms.JmsConnector.close(JmsConnector.java:792) at org.mule.providers.jms.JmsConnector.closeQuietly(JmsConnector.java:803) at org.mule.providers.jms.TransactedJmsMessageReceiver.closeConsumer(TransactedJmsMessageReceiver.java:247) at org.mule.providers.jms.TransactedJmsMessageReceiver.poll(TransactedJmsMessageReceiver.java:157) at org.mule.providers.PollingMessageReceiver.run(PollingMessageReceiver.java:71) at org.mule.impl.work.WorkerContext.run(WorkerContext.java:301) at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665) at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690) at java.lang.Thread.run(Thread.java:534) "jmsConnector.jms.setTag.queue.receiver.8" prio=1 tid=0xbf9554a0 nid=0xac0f5bb0 [EMAIL PROTECTED] in Object.wait() [ac0f4000..ac0f5170] at java.lang.Object.wait(Native Method) - waiting on <0xd120f0c8> (a edu.emory.mathcs.backport.java.util.concurrent.locks.CondVar) at java.lang.Object.wait(Object.java:429) at edu.emory.mathcs.backport.java.util.concurrent.locks.CondVar.await(CondVar.java:76) - locked <0xd120f0c8> (a edu.emory.mathcs.backport.java.util.concurrent.locks.CondVar) at edu.emory.mathcs.backport.java.util.concurrent.ArrayBlockingQueue.take(ArrayBlockingQueue.java:319) at org.apache.activemq.transport.FutureResponse.getResult(FutureResponse.java:42) at org.apache.activemq.transport.ResponseCorrelator.request(ResponseCorrelator.java:73) at org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1115) at org.apache.activemq.ActiveMQSession.syncSendPacket(ActiveMQSession.java:1669) at org.apache.activemq.ActiveMQMessageConsumer.close(ActiveMQMessageConsumer.java:518) at org.mule.providers.jms.JmsConnector.close(JmsConnector.java:792) at org.mule.providers.jms.JmsConnector.closeQuietly(JmsConnector.java:803) at org.mule.providers.jms.TransactedJmsMessageReceiver.closeConsumer(TransactedJmsMessageReceiver.java:247) at org.mule.providers.jms.TransactedJmsMessageReceiver.poll(TransactedJmsMessageReceiver.java:157) at org.mule.providers.PollingMessageReceiver.run(PollingMessageReceiver.java:71) at org.mule.impl.work.WorkerContext.run(WorkerContext.java:301) at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665) at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690) at java.lang.Thread.run(Thread.java:534) Thread dump of ActiveMQ Transport: "ActiveMQ Transport: tcp:///127.0.0.1:32874" daemon prio=1 tid=0x084c1980 nid=0x1314 in Object.wait() [0xcb17d000..0xcb17e1b0] at java.lang.Object.wait(Native Method) - waiting on <0xd15b88e8> (a java.lang.Object) at java.lang.Object.wait(Object.java:474) at org.apache.activemq.memory.UsageManager.waitForSpace(UsageManager.java:91) - locked <0xd15b88e8> (a java.lang.Object) at org.apache.activemq.memory.UsageManager.waitForSpace(UsageManager.java:88) at org.apache.activemq.broker.region.Queue.send(Queue.java:278) at org.apache.activemq.broker.region.AbstractRegion.send(AbstractRegion.java:292) at org.apache.activemq.broker.region.RegionBroker.send(RegionBroker.java:377) at org.apache.activemq.broker.TransactionBroker.send(TransactionBroker.java:193) at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:126) at org.apache.activemq.broker.CompositeDestinationBroker.send(CompositeDestinationBroker.java:98) at org.apache.activemq.broker.MutableBrokerFilter.send(MutableBrokerFilter.java:136) at org.apache.activemq.broker.TransportConnection.processMessage(TransportConnection.java:480) at org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:604) at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:284) at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:177) at org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:65) at org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:133) at org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:122) at org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:84) at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:137) at java.lang.Thread.run(Thread.java:595) -- View this message in context: http://www.nabble.com/Message-queue-getting-blocked-tf3335305s2354.html#a9275428 Sent from the ActiveMQ - User mailing list archive at Nabble.com.