RK G created AMQ-4349:
-------------------------

             Summary: ActiveMQ 5.8.0 thows nullpointer exception while shutting 
down (NIO + LevelDB + pending Non Peristent Messages)
                 Key: AMQ-4349
                 URL: https://issues.apache.org/jira/browse/AMQ-4349
             Project: ActiveMQ
          Issue Type: Bug
            Reporter: RK G


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)


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to