You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Kevin Yaussy (JIRA)" <ji...@apache.org> on 2006/10/05 18:37:09 UTC

[jira] Created: (AMQ-957) Problem with Broker shutdown in 4.0.2

Problem with Broker shutdown in 4.0.2
-------------------------------------

                 Key: AMQ-957
                 URL: https://issues.apache.org/activemq/browse/AMQ-957
             Project: ActiveMQ
          Issue Type: Bug
          Components: Broker
    Affects Versions: 4.0.2
            Reporter: Kevin Yaussy


When running a network of brokers, the first broker shutdown (kill) works.  Subsequent brokers hang after the kill.  Pasted are the significant threads from kill-3 (after the initial kill).


"ActiveMQ ShutdownHook" prio=10 tid=0x008ee098 nid=0x66 in Object.wait() [0x8e11f000..0x8e11f9f0]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x99d61140> (a java.lang.Object)
        at org.apache.activemq.transport.failover.FailoverTransport.oneway(FailoverTransport.java:352)
        - locked <0x99d61140> (a java.lang.Object)
        at org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:45)
        - locked <0x99d611c8> (a java.lang.Object)
        at org.apache.activemq.transport.ResponseCorrelator.oneway(ResponseCorrelator.java:59)
        at org.apache.activemq.network.DemandForwardingBridgeSupport.stop(DemandForwardingBridgeSupport.java:297)
        at org.apache.activemq.network.DiscoveryNetworkConnector.doStop(DiscoveryNetworkConnector.java:191)
        at org.apache.activemq.util.ServiceSupport.stop(ServiceSupport.java:58)
        at org.apache.activemq.util.ServiceStopper.stop(ServiceStopper.java:42)
        at org.apache.activemq.broker.BrokerService.stop(BrokerService.java:398)
        at org.apache.activemq.broker.BrokerService.containerShutdown(BrokerService.java:1040)
        at org.apache.activemq.broker.BrokerService$3.run(BrokerService.java:1017)


I think this goes into DemandForwardingBridgeSupport::stop.  I fixed an issue (submitted in another issue report, I believe) in 4.0.1 for the same thing.  I believe the problem is that the code is expecting to send a message to a broker when it wants to stop the network bridge.  This is problematic, since the broker may be gone.  There could be any of a number of problems going on in the network, and trying to send a message first before closing out the network bridge will only sometimes work.

I can submit a patch for this.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Updated: (AMQ-957) Problem with Broker shutdown in 4.0.2

Posted by "Kevin Yaussy (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/activemq/browse/AMQ-957?page=all ]

Kevin Yaussy updated AMQ-957:
-----------------------------

    Attachment: DemandForwardingBridgeSupport.patch

> Problem with Broker shutdown in 4.0.2
> -------------------------------------
>
>                 Key: AMQ-957
>                 URL: https://issues.apache.org/activemq/browse/AMQ-957
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 4.0.2
>            Reporter: Kevin Yaussy
>         Attachments: DemandForwardingBridgeSupport.patch
>
>
> When running a network of brokers, the first broker shutdown (kill) works.  Subsequent brokers hang after the kill.  Pasted are the significant threads from kill-3 (after the initial kill).
> "ActiveMQ ShutdownHook" prio=10 tid=0x008ee098 nid=0x66 in Object.wait() [0x8e11f000..0x8e11f9f0]
>         at java.lang.Object.wait(Native Method)
>         - waiting on <0x99d61140> (a java.lang.Object)
>         at org.apache.activemq.transport.failover.FailoverTransport.oneway(FailoverTransport.java:352)
>         - locked <0x99d61140> (a java.lang.Object)
>         at org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:45)
>         - locked <0x99d611c8> (a java.lang.Object)
>         at org.apache.activemq.transport.ResponseCorrelator.oneway(ResponseCorrelator.java:59)
>         at org.apache.activemq.network.DemandForwardingBridgeSupport.stop(DemandForwardingBridgeSupport.java:297)
>         at org.apache.activemq.network.DiscoveryNetworkConnector.doStop(DiscoveryNetworkConnector.java:191)
>         at org.apache.activemq.util.ServiceSupport.stop(ServiceSupport.java:58)
>         at org.apache.activemq.util.ServiceStopper.stop(ServiceStopper.java:42)
>         at org.apache.activemq.broker.BrokerService.stop(BrokerService.java:398)
>         at org.apache.activemq.broker.BrokerService.containerShutdown(BrokerService.java:1040)
>         at org.apache.activemq.broker.BrokerService$3.run(BrokerService.java:1017)
> I think this goes into DemandForwardingBridgeSupport::stop.  I fixed an issue (submitted in another issue report, I believe) in 4.0.1 for the same thing.  I believe the problem is that the code is expecting to send a message to a broker when it wants to stop the network bridge.  This is problematic, since the broker may be gone.  There could be any of a number of problems going on in the network, and trying to send a message first before closing out the network bridge will only sometimes work.
> I can submit a patch for this.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira