Looks like producer flow control...

http://activemq.apache.org/producer-flow-control.html


On Fri, Sep 27, 2013 at 4:16 AM, ariskk <kostas.koug...@googlemail.com>wrote:

> This occures rarelly (once per day) and creates problems on our production
> servers. When we publish a rather big message (~1MB) using the vm protocol,
> the publisher deadlocks here:
>
>
> prio=10 tid=0x00007f2f5008c000 nid=0x1880 waiting on condition
> [0x00007f303acd9000]
>    java.lang.Thread.State: WAITING (parking)
>         at sun.misc.Unsafe.park(Native Method)
>         - parking to wait for  <0x00007f393c3e84d8> (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:1366)
>         at
>
> org.apache.activemq.TransactionContext.syncSendPacketWithInterruptionHandling(TransactionContext.java:748)
>         at
> org.apache.activemq.TransactionContext.commit(TransactionContext.java:322)
>         at
> org.apache.activemq.ActiveMQSession.commit(ActiveMQSession.java:561)
>         at
> org.apache.activemq.pool.PooledSession.commit(PooledSession.java:163)
>
>
> The only other activemq related thread is this:
>
> "ActiveMQ VMTransport: vm://localhost#3093-1" daemon prio=10
> tid=0x00007f2dd31e5800 nid=0x4a28 in Object.wait() [0x00007f2ec3a85000]
>    java.lang.Thread.State: TIMED_WAITING (on object monitor)
>         at java.lang.Object.wait(Native Method)
>         - waiting on <0x00007f3316057dc8> (a java.lang.Object)
>         at org.apache.activemq.usage.Usage.waitForSpace(Usage.java:97)
>         - locked <0x00007f3316057dc8> (a java.lang.Object)
>         at org.apache.activemq.usage.Usage.waitForSpace(Usage.java:85)
>         at
>
> org.apache.activemq.broker.region.BaseDestination.waitForSpace(BaseDestination.java:622)
>         at
>
> org.apache.activemq.broker.region.BaseDestination.waitForSpace(BaseDestination.java:606)
>         at org.apache.activemq.broker.region.Queue.send(Queue.java:699)
>         at
>
> org.apache.activemq.broker.region.AbstractRegion.send(AbstractRegion.java:407)
>         at
> org.apache.activemq.broker.region.RegionBroker.send(RegionBroker.java:503)
>         at
>
> org.apache.activemq.broker.jmx.ManagedRegionBroker.send(ManagedRegionBroker.java:311)
>         at
> org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)
>         at
>
> org.apache.activemq.broker.CompositeDestinationBroker.send(CompositeDestinationBroker.java:96)
>         at
>
> org.apache.activemq.broker.TransactionBroker.send(TransactionBroker.java:317)
>         at
>
> org.apache.activemq.broker.MutableBrokerFilter.send(MutableBrokerFilter.java:135)
>         at
>
> org.apache.activemq.broker.TransportConnection.processMessage(TransportConnection.java:450)
>         at
> org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:680)
>         at
>
> org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:294)
>         at
>
> org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:152)
>         at
>
> org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:116)
>         at
>
> org.apache.activemq.transport.MutexTransport.onCommand(MutexTransport.java:50)
>         at
> org.apache.activemq.transport.vm.VMTransport.iterate(VMTransport.java:241)
>         at
>
> org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:129)
>         at
> org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:47)
>         at
>
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>         at
>
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>         at java.lang.Thread.run(Thread.java:722)
>
>
> We got plenty of free disk space on the machine. Anyone has a clue what
> might be causing this? google search and activemq bug database search
> revealed similar issues but too old ones and I assume those were fixed.
> We're using activemq 5.7.0 embedded into our application.
>
>
>
>
> --
> View this message in context:
> http://activemq.2283324.n4.nabble.com/activemq-deadlocks-when-publisher-tries-to-commit-tp4671888.html
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>



-- 
*Christian Posta*
http://www.christianposta.com/blog
twitter: @christianposta

Reply via email to