[ 
https://issues.apache.org/jira/browse/AMQ-6866?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16260611#comment-16260611
 ] 

Chris Chou edited comment on AMQ-6866 at 11/21/17 11:46 AM:
------------------------------------------------------------

long time before this, in the activemq server log , we always see something 
like this: The connection to 'xxx' is taking a long time to shutdown.
but why the connection is being shutdown, we cannot find it out from the log.

{code:java}
[2017-11-11 
06:58:37,561]-[main]-[]-[org.apache.activemq.broker.BrokerService.doStartBroker(BrokerService.java:761)]-[INFO]
 For help or more information please see: http://activemq.apache.org
[2017-11-11 06:59:09,436]-[ActiveMQ Transport: 
ssl:///220.51.13.51:33248]-[]-[org.apache.activemq.broker.TransportConnection.serviceTransportException(TransportConnection.java:240)]-[WARN]
 Transport Connection to: tcp://220.51.13.51:33248 failed: java.io.EOFException
[2017-11-11 06:59:09,459]-[ActiveMQ Transport: 
ssl:///220.51.13.85:55936]-[]-[org.apache.activemq.broker.TransportConnection.serviceTransportException(TransportConnection.java:240)]-[WARN]
 Transport Connection to: tcp://220.51.13.85:55936 failed: java.io.EOFException
[2017-11-11 06:59:09,539]-[ActiveMQ Transport: 
ssl:///220.51.13.56:44800]-[]-[org.apache.activemq.broker.TransportConnection.serviceTransportException(TransportConnection.java:240)]-[WARN]
 Transport Connection to: tcp://220.51.13.56:44800 failed: java.io.EOFException
[2017-11-11 06:59:10,809]-[ActiveMQ Transport: 
ssl:///220.51.13.51:33260]-[]-[org.apache.activemq.broker.TransportConnection.serviceTransportException(TransportConnection.java:240)]-[WARN]
 Transport Connection to: tcp://220.51.13.51:33260 failed: java.io.EOFException
[2017-11-11 06:59:10,810]-[ActiveMQ Transport: 
ssl:///220.51.13.50:47032]-[]-[org.apache.activemq.broker.TransportConnection.serviceTransportException(TransportConnection.java:240)]-[WARN]
 Transport Connection to: tcp://220.51.13.50:47032 failed: java.io.EOFException
[2017-11-11 11:19:01,722]-[ActiveMQ Transport: 
ssl:///220.51.13.51:45900]-[]-[org.apache.activemq.broker.TransportConnection.stop(TransportConnection.java:1104)]-[INFO]
 The connection to 'tcp://220.51.13.51:33246' is taking a long time to shutdown.
[2017-11-11 11:19:06,723]-[ActiveMQ Transport: 
ssl:///220.51.13.51:45900]-[]-[org.apache.activemq.broker.TransportConnection.stop(TransportConnection.java:1104)]-[INFO]
 The connection to 'tcp://220.51.13.51:33246' is taking a long time to 
shutdown.\

...

// a lot of logs like this
{code}



was (Author: mhsjlove):
long time before this, in the activemq server log , we always see something 
like this: The connection to 'xxx' is taking a long time to shutdown

{code:java}
[2017-11-11 
06:58:37,561]-[main]-[]-[org.apache.activemq.broker.BrokerService.doStartBroker(BrokerService.java:761)]-[INFO]
 For help or more information please see: http://activemq.apache.org
[2017-11-11 06:59:09,436]-[ActiveMQ Transport: 
ssl:///220.51.13.51:33248]-[]-[org.apache.activemq.broker.TransportConnection.serviceTransportException(TransportConnection.java:240)]-[WARN]
 Transport Connection to: tcp://220.51.13.51:33248 failed: java.io.EOFException
[2017-11-11 06:59:09,459]-[ActiveMQ Transport: 
ssl:///220.51.13.85:55936]-[]-[org.apache.activemq.broker.TransportConnection.serviceTransportException(TransportConnection.java:240)]-[WARN]
 Transport Connection to: tcp://220.51.13.85:55936 failed: java.io.EOFException
[2017-11-11 06:59:09,539]-[ActiveMQ Transport: 
ssl:///220.51.13.56:44800]-[]-[org.apache.activemq.broker.TransportConnection.serviceTransportException(TransportConnection.java:240)]-[WARN]
 Transport Connection to: tcp://220.51.13.56:44800 failed: java.io.EOFException
[2017-11-11 06:59:10,809]-[ActiveMQ Transport: 
ssl:///220.51.13.51:33260]-[]-[org.apache.activemq.broker.TransportConnection.serviceTransportException(TransportConnection.java:240)]-[WARN]
 Transport Connection to: tcp://220.51.13.51:33260 failed: java.io.EOFException
[2017-11-11 06:59:10,810]-[ActiveMQ Transport: 
ssl:///220.51.13.50:47032]-[]-[org.apache.activemq.broker.TransportConnection.serviceTransportException(TransportConnection.java:240)]-[WARN]
 Transport Connection to: tcp://220.51.13.50:47032 failed: java.io.EOFException
[2017-11-11 11:19:01,722]-[ActiveMQ Transport: 
ssl:///220.51.13.51:45900]-[]-[org.apache.activemq.broker.TransportConnection.stop(TransportConnection.java:1104)]-[INFO]
 The connection to 'tcp://220.51.13.51:33246' is taking a long time to shutdown.
[2017-11-11 11:19:06,723]-[ActiveMQ Transport: 
ssl:///220.51.13.51:45900]-[]-[org.apache.activemq.broker.TransportConnection.stop(TransportConnection.java:1104)]-[INFO]
 The connection to 'tcp://220.51.13.51:33246' is taking a long time to 
shutdown.\

...

// a lot of logs like this
{code}


> deadlock when using async dispatch
> ----------------------------------
>
>                 Key: AMQ-6866
>                 URL: https://issues.apache.org/jira/browse/AMQ-6866
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 5.14.0
>         Environment: linux suse 11 sp3
> activemq 5.14.0
>            Reporter: Chris Chou
>
> we use activemq as out message system.
> we use jdbc master slave for activemq server.
> we have several node and each node has two connection, one 
> connection(useAsyncSend=true) is used to send topic message, and another 
> connection(useAsyncSend=false)  is used to send queue message and register 
> message consumer listener, both of the connection is use fail over transport.
> when we send queue message, we set persist to true and the TTL is half an 
> hour.
> when we send topic message, we set persist to false and TTL is 7 days.
> both topic and queue consumer is not durable.
> after some time, we get java level deadlock in the MQ server. this problem 
> only occurs in one of our envs,  it can only be reproduced in this env after 
> sevaral hours, cannot be reproduced in other envs.
>  
> {code:java}
> Found one Java-level deadlock:
> =============================
> "ActiveMQ Transport: ssl:///220.51.13.50:46440":
>   waiting to lock monitor 0x00007fa7b0069f98 (object 0x00000006a0455eb0, a 
> org.apache.activemq.broker.region.Topic),
>   which is held by "ActiveMQ Transport: ssl:///220.51.13.57:44446"
> "ActiveMQ Transport: ssl:///220.51.13.57:44446":
>   waiting to lock monitor 0x00007fa7a800e468 (object 0x00000006a16161c8, a 
> java.lang.Object),
>   which is held by "ActiveMQ BrokerService[localhost] Task-95"
> "ActiveMQ BrokerService[localhost] Task-95":
>   waiting to lock monitor 0x00007fa7b40302f8 (object 0x00000006a02f0e20, a 
> org.apache.activemq.thread.PooledTaskRunner$1),
>   which is held by "ActiveMQ Transport: ssl:///220.51.13.57:44446"
> Java stack information for the threads listed above:
> ===================================================
> "ActiveMQ Transport: ssl:///220.51.13.50:46440":
>       at org.apache.activemq.broker.region.Topic.doMessageSend(Topic.java:498)
>       - waiting to lock <0x00000006a0455eb0> (a 
> org.apache.activemq.broker.region.Topic)
>       at org.apache.activemq.broker.region.Topic.send(Topic.java:479)
>       at 
> org.apache.activemq.broker.region.DestinationFilter.send(DestinationFilter.java:132)
>       at 
> org.apache.activemq.broker.region.AbstractRegion.send(AbstractRegion.java:503)
>       at 
> org.apache.activemq.broker.region.RegionBroker.send(RegionBroker.java:468)
>       at 
> org.apache.activemq.broker.CompositeDestinationBroker.send(CompositeDestinationBroker.java:96)
>       at 
> org.apache.activemq.broker.TransactionBroker.send(TransactionBroker.java:293)
>       at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:153)
>       at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:153)
>       at 
> org.apache.activemq.security.AuthorizationBroker.send(AuthorizationBroker.java:226)
>       at 
> org.apache.activemq.broker.MutableBrokerFilter.send(MutableBrokerFilter.java:158)
>       at 
> org.apache.activemq.broker.TransportConnection.processMessage(TransportConnection.java:578)
>       at 
> org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:768)
>       at 
> org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:333)
>       at 
> org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:197)
>       at 
> org.apache.activemq.transport.MutexTransport.onCommand(MutexTransport.java:50)
>       at 
> org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:125)
>       at 
> org.apache.activemq.transport.AbstractInactivityMonitor.onCommand(AbstractInactivityMonitor.java:300)
>       at 
> org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83)
>       at 
> org.apache.activemq.transport.tcp.SslTransport.doConsume(SslTransport.java:108)
>       at 
> org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:233)
>       at 
> org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:215)
>       at java.lang.Thread.run(Thread.java:745)
> "ActiveMQ Transport: ssl:///220.51.13.57:44446":
>       at 
> org.apache.activemq.broker.region.PrefetchSubscription.dispatchPending(PrefetchSubscription.java:683)
>       - waiting to lock <0x00000006a16161c8> (a java.lang.Object)
>       at 
> org.apache.activemq.broker.region.PrefetchSubscription.onDispatch(PrefetchSubscription.java:813)
>       at 
> org.apache.activemq.broker.region.PrefetchSubscription$3.onSuccess(PrefetchSubscription.java:775)
>       at 
> org.apache.activemq.broker.TransportConnection.processDispatch(TransportConnection.java:995)
>       at 
> org.apache.activemq.broker.TransportConnection.iterate(TransportConnection.java:1024)
>       at 
> org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:133)
>       at 
> org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:48)
>       at 
> java.util.concurrent.ThreadPoolExecutor$CallerRunsPolicy.rejectedExecution(ThreadPoolExecutor.java:2022)
>       at 
> java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:823)
>       at 
> java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1369)
>       at 
> org.apache.activemq.thread.PooledTaskRunner.wakeup(PooledTaskRunner.java:83)
>       - locked <0x00000006a02f0e20> (a 
> org.apache.activemq.thread.PooledTaskRunner$1)
>       at 
> org.apache.activemq.broker.TransportConnection.dispatchAsync(TransportConnection.java:950)
>       at 
> org.apache.activemq.broker.region.TopicSubscription.dispatch(TopicSubscription.java:680)
>       at 
> org.apache.activemq.broker.region.TopicSubscription.add(TopicSubscription.java:122)
>       - locked <0x00000006a2a0af58> (a java.lang.Object)
>       at 
> org.apache.activemq.broker.region.policy.SimpleDispatchPolicy.dispatch(SimpleDispatchPolicy.java:48)
>       at org.apache.activemq.broker.region.Topic.dispatch(Topic.java:761)
>       at org.apache.activemq.broker.region.Topic.doMessageSend(Topic.java:553)
>       - locked <0x00000006a0455eb0> (a 
> org.apache.activemq.broker.region.Topic)
>       at org.apache.activemq.broker.region.Topic.send(Topic.java:479)
>       at 
> org.apache.activemq.broker.region.DestinationFilter.send(DestinationFilter.java:132)
>       at 
> org.apache.activemq.broker.region.AbstractRegion.send(AbstractRegion.java:503)
>       at 
> org.apache.activemq.broker.region.RegionBroker.send(RegionBroker.java:468)
>       at 
> org.apache.activemq.broker.CompositeDestinationBroker.send(CompositeDestinationBroker.java:96)
>       at 
> org.apache.activemq.broker.TransactionBroker.send(TransactionBroker.java:293)
>       at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:153)
>       at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:153)
>       at 
> org.apache.activemq.security.AuthorizationBroker.send(AuthorizationBroker.java:226)
>       at 
> org.apache.activemq.broker.MutableBrokerFilter.send(MutableBrokerFilter.java:158)
>       at 
> org.apache.activemq.broker.TransportConnection.processMessage(TransportConnection.java:578)
>       at 
> org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:768)
>       at 
> org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:333)
>       at 
> org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:197)
>       at 
> org.apache.activemq.transport.MutexTransport.onCommand(MutexTransport.java:50)
>       at 
> org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:125)
>       at 
> org.apache.activemq.transport.AbstractInactivityMonitor.onCommand(AbstractInactivityMonitor.java:300)
>       at 
> org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83)
>       at 
> org.apache.activemq.transport.tcp.SslTransport.doConsume(SslTransport.java:108)
>       at 
> org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:233)
>       at 
> org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:215)
>       at java.lang.Thread.run(Thread.java:745)
> "ActiveMQ BrokerService[localhost] Task-95":
>       at 
> org.apache.activemq.thread.PooledTaskRunner.wakeup(PooledTaskRunner.java:62)
>       - waiting to lock <0x00000006a02f0e20> (a 
> org.apache.activemq.thread.PooledTaskRunner$1)
>       at 
> org.apache.activemq.broker.TransportConnection.dispatchAsync(TransportConnection.java:950)
>       at 
> org.apache.activemq.broker.region.PrefetchSubscription.dispatch(PrefetchSubscription.java:793)
>       at 
> org.apache.activemq.broker.region.PrefetchSubscription.dispatchPending(PrefetchSubscription.java:717)
>       - locked <0x00000006a16161e0> (a java.lang.Object)
>       - locked <0x00000006a16161c8> (a java.lang.Object)
>       at 
> org.apache.activemq.broker.region.PrefetchSubscription.add(PrefetchSubscription.java:162)
>       at 
> org.apache.activemq.broker.region.Queue.doActualDispatch(Queue.java:2071)
>       at org.apache.activemq.broker.region.Queue.doDispatch(Queue.java:2019)
>       at 
> org.apache.activemq.broker.region.Queue.pageInMessages(Queue.java:2160)
>       at org.apache.activemq.broker.region.Queue.iterate(Queue.java:1601)
>       - locked <0x00000006a1ed9c58> (a java.lang.Object)
>       at 
> org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:133)
>       at 
> org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:48)
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>       at java.lang.Thread.run(Thread.java:745)
> Found 1 deadlock.
> {code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to