Uploaded image for project: 'Geronimo'
  1. Geronimo
  2. GERONIMO-5660

Shutdown of server with asyncStartup of ActiveMQ can hang

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 2.2.1
    • Fix Version/s: 2.2.1
    • Component/s: ActiveMQ
    • Security Level: public (Regular issues)
    • Labels:
      None

      Description

      If asyncStartup of ActiveMQ is used (for a failover broker scenario where brokers used shared storage), the shutdown of a backup broker will hang. So, Geronimo server shutdown does not complete. This is really an ActiveMQ problem. However, I think we should work around the problem for now. This seems to be a problem with AMQPersistenceAdapter only. Doesn't seem to be a problem for the KahaPersistenceAdapter.

      Here's where shutdown gets hung up:

      "MainBootstrapper shutdown thread" prio=5 tid=101bd0800 nid=0x128fe5000 waiting for monitor entry [128fe4000]
      java.lang.Thread.State: BLOCKED (on object monitor)
      at org.apache.activemq.store.amq.AMQPersistenceAdapter.unlock(AMQPersistenceAdapter.java:1072)

      • waiting to lock <109b4b8e8> (a org.apache.activemq.store.amq.AMQPersistenceAdapter)
        at org.apache.activemq.store.amq.AMQPersistenceAdapter.stop(AMQPersistenceAdapter.java:308)
        at org.apache.activemq.util.ServiceStopper.stop(ServiceStopper.java:41)
        at org.apache.activemq.broker.BrokerService.stop(BrokerService.java:588)
        at org.apache.geronimo.activemq.BrokerServiceGBeanImpl.doStop(BrokerServiceGBeanImpl.java:144)
      • locked <1095b4470> (a org.apache.geronimo.activemq.BrokerServiceGBeanImpl)
        at org.apache.geronimo.gbean.runtime.GBeanInstance.destroyInstance(GBeanInstance.java:1116)
        at org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStop(GBeanInstanceState.java:340)
        at org.apache.geronimo.gbean.runtime.GBeanInstanceState.stop(GBeanInstanceState.java:189)
        at org.apache.geronimo.gbean.runtime.GBeanInstance.stop(GBeanInstance.java:547)
        at org.apache.geronimo.kernel.basic.BasicKernel.stopGBean(BasicKernel.java:421)
        at org.apache.geronimo.gbean.runtime.GBeanInstanceState.stop(GBeanInstanceState.java:181)
        at org.apache.geronimo.gbean.runtime.GBeanInstance.stop(GBeanInstance.java:547)
        at org.apache.geronimo.kernel.basic.BasicKernel.stopGBean(BasicKernel.java:421)
        at org.apache.geronimo.kernel.config.KernelConfigurationManager$ShutdownHook.run(KernelConfigurationManager.java:339)
        at org.apache.geronimo.kernel.basic.BasicKernel.notifyShutdownHooks(BasicKernel.java:661)
        at org.apache.geronimo.kernel.basic.BasicKernel.shutdown(BasicKernel.java:638)
        at org.apache.geronimo.kernel.util.MainConfigurationBootstrapper$1.run(MainConfigurationBootstrapper.java:76)

        Attachments

          Activity

            People

            • Assignee:
              kevan Kevan Lee Miller
              Reporter:
              kevan Kevan Lee Miller
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: