Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
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
- duplicates
-
AMQ-4346 Activemq-5.8.0 Shutdown failing when using NIO + LevelDB
- Closed