activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From James Black <be_st...@yahoo.co.uk>
Subject Client side producer flow control exception never thrown
Date Wed, 19 Feb 2014 11:37:32 GMT
Hi,

sadly we once again find some problems with ActiveMq.  We are using 5.5.1
but won't be upgrading as we'll probably move to a different message broker.

Anyway the current issue is that with producer flow control enabled and with
sendFailIfNoSpaceAfterTimeout set to 15000 (15s) we see no exceptions
triggered on the client side.

Last night during our load testing we hit the store limit for the messages
on disk, 50GB.  At this point I would of expected the clients to start
throwing exceptions due to the sendFail setting above.  However, this is not
the case.  Upon inspecting the logs for the clients I can see no exceptions
this morning.  I do however see that all threads are blocked in sending
messages to ActiveMq.

Below is an example partial stack trace:

State: BLOCKED on java.lang.Object@49c05090 owned by: ....Service--4
Total blocked: 45,800  Total waited: 188,752

Stack trace: 
org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:39)
org.apache.activemq.transport.ResponseCorrelator.oneway(ResponseCorrelator.java:60)
org.apache.activemq.ActiveMQConnection.doAsyncSendPacket(ActiveMQConnection.java:1265)
org.apache.activemq.ActiveMQConnection.asyncSendPacket(ActiveMQConnection.java:1259)
org.apache.activemq.TransactionContext.begin(TransactionContext.java:214)
org.apache.activemq.ActiveMQSession.doStartTransaction(ActiveMQSession.java:1774)
org.apache.activemq.ActiveMQSession.send(ActiveMQSession.java:1700)
   - locked java.lang.Object@21d0b66
org.apache.activemq.ActiveMQMessageProducer.send(ActiveMQMessageProducer.java:231)
org.apache.activemq.ActiveMQMessageProducerSupport.send(ActiveMQMessageProducerSupport.java:269)
org.springframework.jms.connection.CachedMessageProducer.send(CachedMessageProducer.java:117)
.... (removing our own classes)

The Spring JmsTemplate here is being called to send a message and the entity
doing the sending is the Spring DMLC which is executing in a method from our
service.

Any ideas?

Thanks,

Justin 



--
View this message in context: http://activemq.2283324.n4.nabble.com/Client-side-producer-flow-control-exception-never-thrown-tp4678120.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Mime
View raw message