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

Shutdown of server with asyncStartup of ActiveMQ can hang

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 2.2.1
    • 2.2.1
    • ActiveMQ
    • Security Level: public (Regular issues)
    • 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

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

            Dates

              Created:
              Updated:
              Resolved: