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

Eric commented on AMQ-2320:
---------------------------

Hi !

I believed I found the major reason of the active threads. But, no, .... 
In the same conditions (simultaneous stops) I had a case where one Session 
thread was active again (like before I discover that I forgot to stop the 
consumerEventSource object). 

And I had a case where the consumerEventSource.stop was blocked without 
deadlock detected, and where CTRL-C doesn't interrupt it. Only Kill -9 
interrupted the process.

Here is the stack trace of my shutdown hook which is called on a CTRL-C 
interruption.

Name: Thread-1
State: WAITING on java.lang.obj...@9866417
Total blocked: 0  Total waited: 1

Stack trace: 
java.lang.Object.wait(Native Method)
org.apache.activemq.thread.DedicatedTaskRunner.shutdown(DedicatedTaskRunner.java:72)
org.apache.activemq.thread.DedicatedTaskRunner.shutdown(DedicatedTaskRunner.java:83)
org.apache.activemq.ActiveMQSessionExecutor.stop(ActiveMQSessionExecutor.java:142)
org.apache.activemq.ActiveMQSession.dispose(ActiveMQSession.java:579)
   - locked org.apache.activemq.activemqsess...@22cf38a2
org.apache.activemq.ActiveMQSession.close(ActiveMQSession.java:555)
org.apache.activemq.advisory.ConsumerEventSource.stop(ConsumerEventSource.java:83)
atosbus.transport.jms.CJMSTransport$CAMQConsumerEventServiceLink.stop(CJMSTransport.java:190)
atosbus.transport.jms.CJMSTransport.unregisterService(CJMSTransport.java:300)
   - locked atosbus.transport.jms.cjmstransp...@6a3b8b49
atosbus.core.service.CService.setServiceState(CService.java:1044)
atosbus.core.service.CService.releaseAllResources(CService.java:2137)
atosbus.core.system.CManagedComponent.removeService(CManagedComponent.java:465)
   - locked atosbus.core.service.cserv...@40363068
   - locked atosbus.core.system.cinsta...@2143ed74
atosbus.core.system.CManagedComponent.removeAllServices(CManagedComponent.java:513)
atosbus.core.system.CInstance.removeAllApplicativeServices(CInstance.java:433)
atosbus.core.system.CInstance.disconnectBus(CInstance.java:296)
atosbus.core.system.CComponent$CComponentShutdownHook.run(CComponent.java:159)

And I put here an image of the JMX console thread wiew which shows that there 
is no deadlock .

Eric-AWL

> Session are not deleted when several processes terminate simultaneously in a 
> "network of broker" complex configuration
> ----------------------------------------------------------------------------------------------------------------------
>
>                 Key: AMQ-2320
>                 URL: https://issues.apache.org/activemq/browse/AMQ-2320
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 5.2.0
>         Environment: Linux Redhat. JVM 1.6. AMQ 5.2
>            Reporter: Eric
>         Attachments: Pb AMQ Session.JPG
>
>
> I would like to add a schema. I hope I will be able to add it later. I don't 
> see it
> I have 3 processes with one embedded broker (BSV, client, server) in the same 
> network of brokers (non duplex but bi-directionnal).
> I have a fourth standalone broker
> My "client" and my "server" process are connected a second time with a 
> "manual" tcp connection to the BSV process.
> My "client" and my "server" process are connected a third time with a 
> "manual" tcp connection on the standalone broker.
> In this case, if my process BSV is stopped by an interrupt (CTRL-C) (which 
> closes the embedded connection, and the embedded broker), and if 
> simultaneously, I want to stop gracefully my "client" process (close all 
> session, close all "manual" connection, stop embedded broker), one session 
> thread stays up and never terminates
> "ActiveMQ Session: ID:td0sib01s.priv.atos.fr-51590-1247070640728-0:2:3" 
> prio=10 tid=0x000000000e83a400 nid=0x5749 in Object.wait() 
> [0x00000000469c8000..0x00000000469c8d10]
>    java.lang.Thread.State: WAITING (on object monitor)
>       at java.lang.Object.wait(Native Method)
>       - waiting on <0x00002aaaca868380> (a java.lang.Object)
>       at java.lang.Object.wait(Object.java:502)
>       at 
> org.apache.activemq.thread.DedicatedTaskRunner.runTask(DedicatedTaskRunner.java:105)
>       - locked <0x00002aaaca868380> (a java.lang.Object)
>       at 
> org.apache.activemq.thread.DedicatedTaskRunner$1.run(DedicatedTaskRunner.java:36)
> It is a session associated with the BSV link (I don't know if it is a session 
> associated with the network of broker, or a session associated with my manual 
> connection)
> A CTRL-C on the process terminates the process
> It doesn't happen if stop are not simultaneously done.
> Eric-AWL

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to