Uploaded image for project: 'ActiveMQ Classic'
  1. ActiveMQ Classic
  2. AMQ-4349

ActiveMQ 5.8.0 thows nullpointer exception while shutting down (NIO + LevelDB + pending Non Peristent Messages)

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 5.11.0
    • None
    • None

    Description

      I am not sure whether I have to post this in the mailling list first or open a ticket.

      We updated our activemq broker to version 5.8.0 and replaced the persistent store from kahadb to leveldb. The persistent write performance increased by 10 times but at the same time the non persistent message write and read performance is decreased. Especially the read performance is decreased a lot.

      When there are not persistent messages on the broker and if we do graceful shutdown, the broker throws a null pointer exception. This is happening only if we use leveldb. Here is the stack trace.

      2013-02-26 06:06:58,956 | INFO | Stopped LevelDB[/opt/activemq/data/leveldb] | org.apache.activemq.leveldb.LevelDBStore | Thread-16
      2013-02-26 06:06:58,957 | ERROR | Could not stop service: QueueRegion: destinations=1, subscriptions=0, memory=0%. Reason: java.lang.NullPointerException | org.apache.activemq.broker.jmx.Ma
      nagedQueueRegion | Thread-16
      java.lang.NullPointerException
      at org.fusesource.hawtdispatch.package$RichExecutor.execute(hawtdispatch.scala:171)
      at org.fusesource.hawtdispatch.package$RichExecutorTrait$class.apply(hawtdispatch.scala:68)
      at org.fusesource.hawtdispatch.package$RichExecutor.apply(hawtdispatch.scala:169)
      at org.fusesource.hawtdispatch.package$RichExecutorTrait$class.future(hawtdispatch.scala:116)
      at org.fusesource.hawtdispatch.package$RichExecutor.future(hawtdispatch.scala:169)
      at org.fusesource.hawtdispatch.package$RichExecutorTrait$class.sync(hawtdispatch.scala:107)
      at org.fusesource.hawtdispatch.package$RichExecutor.sync(hawtdispatch.scala:169)
      at org.apache.activemq.leveldb.DBManager.destroyPList(DBManager.scala:773)
      at org.apache.activemq.leveldb.LevelDBStore.removePList(LevelDBStore.scala:454)
      at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.destroyDiskList(FilePendingMessageCursor.java:168)
      at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.destroy(FilePendingMessageCursor.java:163)
      at org.apache.activemq.broker.region.cursors.StoreQueueCursor.stop(StoreQueueCursor.java:82)
      at org.apache.activemq.broker.region.Queue.stop(Queue.java:910)
      at org.apache.activemq.broker.region.AbstractRegion.stop(AbstractRegion.java:117)
      at org.apache.activemq.util.ServiceStopper.stop(ServiceStopper.java:41)
      at org.apache.activemq.broker.region.RegionBroker.doStop(RegionBroker.java:574)
      at org.apache.activemq.broker.jmx.ManagedRegionBroker.doStop(ManagedRegionBroker.java:126)
      at org.apache.activemq.broker.region.RegionBroker.stop(RegionBroker.java:194)
      at org.apache.activemq.broker.BrokerFilter.stop(BrokerFilter.java:161)
      at org.apache.activemq.broker.BrokerFilter.stop(BrokerFilter.java:161)
      at org.apache.activemq.broker.TransactionBroker.stop(TransactionBroker.java:204)
      at org.apache.activemq.broker.BrokerService$5.stop(BrokerService.java:2070)
      at org.apache.activemq.util.ServiceStopper.stop(ServiceStopper.java:41)
      at org.apache.activemq.broker.BrokerService.stop(BrokerService.java:715)
      at org.apache.activemq.xbean.XBeanBrokerService.stop(XBeanBrokerService.java:96)
      at org.apache.activemq.console.command.StartCommand$1.run(StartCommand.java:148)

      Attachments

        Issue Links

          Activity

            People

              dejanb Dejan Bosanac
              rgooduru RK G
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: