activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gary Tully (JIRA)" <>
Subject [jira] [Created] (AMQ-4791) [org.apache.activemq.ActiveMQConnection] dispatch paused, waiting for outstanding dispatch interruption processing (1) to complete..
Date Tue, 08 Oct 2013 20:26:44 GMT
Gary Tully created AMQ-4791:

             Summary: [org.apache.activemq.ActiveMQConnection] dispatch paused, waiting for
outstanding dispatch interruption processing (1) to complete..
                 Key: AMQ-4791
             Project: ActiveMQ
          Issue Type: Bug
          Components: Transport
    Affects Versions: 5.8.0
            Reporter: Gary Tully
            Assignee: Gary Tully
             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/
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
 - 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)
 - @bci=47, line=196 (Compiled frame)
 - @bci=11, line=722 (Interpreted frame) {code}

This message was sent by Atlassian JIRA

View raw message