You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Gary Tully (JIRA)" <ji...@apache.org> on 2013/10/08 22:30:45 UTC

[jira] [Resolved] (AMQ-4791) [org.apache.activemq.ActiveMQConnection] dispatch paused, waiting for outstanding dispatch interruption processing (1) to complete..

     [ https://issues.apache.org/jira/browse/AMQ-4791?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Gary Tully resolved AMQ-4791.
-----------------------------

    Resolution: Fixed

fix in http://git-wip-us.apache.org/repos/asf/activemq/commit/dc0291b2

> [org.apache.activemq.ActiveMQConnection] dispatch paused, waiting for outstanding dispatch interruption processing (1) to complete..
> ------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: AMQ-4791
>                 URL: https://issues.apache.org/jira/browse/AMQ-4791
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Transport
>    Affects Versions: 5.8.0
>            Reporter: Gary Tully
>            Assignee: Gary Tully
>              Labels: DMLC, RAR, failover
>             Fix For: 5.9.0
>
>
> Race condition between consumer close and transport calculation of outstanding interruption processing. Transport thinks there are more responses required before allowing dispatch due to a mis count of active consumers.
> NOTE: This is issue was initially reported using the Spring DMLC with the AMQ rar deployed in a J2EE container. However it can be replicated the issue with a simple JMS client creating a new consumer and closing the consumer for every call to consumer.receive(1000).
> The client AMQ connection appears to stop dispatching messages to the consumer and continuously logs the following message
> WARN  [org.apache.activemq.ActiveMQConnection] (ActiveMQ Transport: tcp://localhost/127.0.0.1:61616@51487) dispatch paused, waiting for outstanding dispatch interruption processing (1) to complete..
> Thread appears to remain in following state {code}
> - sun.misc.Unsafe.park(boolean, long) @bci=0 (Compiled frame; information may be imprecise)
>  - java.util.concurrent.locks.LockSupport.parkNanos(java.lang.Object, long) @bci=20, line=226 (Compiled frame)
>  - java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedNanos(int, long) @bci=122, line=1033 (Interpreted frame)
>  - java.util.concurrent.locks.AbstractQueuedSynchronizer.tryAcquireSharedNanos(int, long) @bci=25, line=1326 (Compiled frame)
>  - java.util.concurrent.CountDownLatch.await(long, java.util.concurrent.TimeUnit) @bci=10, line=282 (Compiled frame)
>  - org.apache.activemq.ActiveMQConnection.waitForTransportInterruptionProcessingToComplete() @bci=82, line=2455 (Compiled frame)
>  - org.apache.activemq.ActiveMQConnection$3.processMessageDispatch(org.apache.activemq.command.MessageDispatch) @bci=4, line=1841 (Compiled frame)
>  - org.apache.activemq.command.MessageDispatch.visit(org.apache.activemq.state.CommandVisitor) @bci=2, line=113 (Compiled frame)
>  - org.apache.activemq.ActiveMQConnection.onCommand(java.lang.Object) @bci=29, line=1838 (Compiled frame)
>  - org.apache.activemq.transport.ResponseCorrelator.onCommand(java.lang.Object) @bci=172, line=116 (Compiled frame)
>  - org.apache.activemq.transport.MutexTransport.onCommand(java.lang.Object) @bci=52, line=50 (Compiled frame)
>  - org.apache.activemq.transport.failover.FailoverTransport$3.onCommand(java.lang.Object) @bci=148, line=203 (Compiled frame)
>  - org.apache.activemq.transport.WireFormatNegotiator.onCommand(java.lang.Object) @bci=29, line=113 (Compiled frame)
>  - org.apache.activemq.transport.AbstractInactivityMonitor.onCommand(java.lang.Object) @bci=156, line=288 (Compiled frame)
>  - org.apache.activemq.transport.TransportSupport.doConsume(java.lang.Object) @bci=16, line=83 (Compiled frame)
>  - org.apache.activemq.transport.tcp.TcpTransport.doRun() @bci=7, line=214 (Compiled frame)
>  - org.apache.activemq.transport.tcp.TcpTransport.run() @bci=47, line=196 (Compiled frame)
>  - java.lang.Thread.run() @bci=11, line=722 (Interpreted frame) {code}



--
This message was sent by Atlassian JIRA
(v6.1#6144)