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 Consumer performance problem with Tx
Date Tue, 02 Sep 2014 12:05:43 GMT
Hi,

I have a problem that when using transactions all my consumers for a
particular queue are getting blocking waiting for the commit.  We are using
the Spring DMLC and are caching at the consumer level.  This is ActiveMQ
5.5.1

All threads end up at a WAITING state with the same stack trace as below:

"service--51" - Thread t@96
   java.lang.Thread.State: WAITING
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for <12021c84> (a
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
	at
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
	at
java.util.concurrent.ArrayBlockingQueue.take(ArrayBlockingQueue.java:374)
	at
org.apache.activemq.transport.FutureResponse.getResult(FutureResponse.java:40)
	at
org.apache.activemq.transport.ResponseCorrelator.request(ResponseCorrelator.java:87)
	at
org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1284)
	at
org.apache.activemq.TransactionContext.syncSendPacketWithInterruptionHandling(TransactionContext.java:707)
	at
org.apache.activemq.TransactionContext.commit(TransactionContext.java:299)
	at org.apache.activemq.ActiveMQSession.commit(ActiveMQSession.java:560)
	at
org.springframework.jms.support.JmsUtils.commitIfNecessary(JmsUtils.java:217)
	at
org.springframework.jms.listener.AbstractMessageListenerContainer.commitIfNecessary(AbstractMessageListenerContainer.java:577)
	at
org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:482)
	at
org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:325)
	at
org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:243)
	at
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1103)
	at
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:1095)
	at
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:992)
	at java.lang.Thread.run(Thread.java:724)
   Locked ownable synchronizers:
	- None

I know that the transaction speed is limited by the disk performance but we
do not see the disk IO jump beyond what we would expect it can handle.

Anyone got any ideas?

Thanks,

Justin



--
View this message in context: http://activemq.2283324.n4.nabble.com/Consumer-performance-problem-with-Tx-tp4685226.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Mime
View raw message