Hi James-

ActiveMQ 5.5.1 is quite aged at this point. Any reason you aren’t looking at a 
newer version?

Transactions and connection pooling is tricky— are you doing XA or JMS Local?  
I suggest trying to get it all working, then tune.. CACHE_NONE first.

-Matt

On Sep 2, 2014, at 7:05 AM, James Black <be_st...@yahoo.co.uk> wrote:

> 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.

Reply via email to