Hi,

I'm doing a pre-production stress test on activeMQ and I have constantly
issues with blocked consumers.

Here is an example stack that I retrieved from the JMX console:

Name: defaultMessageListenerContainer-1
State: TIMED_WAITING on java.lang.Object@574ff50a
Total blocked: 2  Total waited: 5,310

Stack trace:
 java.lang.Object.wait(Native Method)
org.apache.activemq.SimplePriorityMessageDispatchChannel.dequeue(SimplePriorityMessageDispatchChannel.java:89)
org.apache.activemq.ActiveMQMessageConsumer.dequeue(ActiveMQMessageConsumer.java:452)
org.apache.activemq.ActiveMQMessageConsumer.receive(ActiveMQMessageConsumer.java:577)
org.springframework.jms.connection.CachedMessageConsumer.receive(CachedMessageConsumer.java:74)
org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveMessage(AbstractPollingMessageListenerContainer.java:429)
org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:310)
org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:263)
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1059)
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:1051)
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:948)
java.lang.Thread.run(Unknown Source)

This is after passing about 160,000 messages through a topic, each about
400k of payload. As both my consumers are stopped listening at the same
time (listening to different brokers in a network of brokers topology) this
seems to be more a problem on the broker's end, some locking or so.

Both brokers switched into flow control mode ("Producers will be throttled
to the rate at which messages are removed from this destination to prevent
flooding it.") a while before that happened.

Cheers,
Kai

Reply via email to