Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Incomplete
-
5.5.1
-
None
-
None
-
#36-Ubuntu SMP Tue Apr 10 20:39:51 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
Description
With a queue containing several million messages we started getting these exceptions. This appears to have stalled the queue, even after the server restart. I had to delete activemq-data directory to make it move along.
2012-09-25 05:25:48,446 ERROR [BrokerService[localhost] Task-2008] org.apache.activemq.broker.region.cursors.AbstractSto
reCursor.fillBatch(AbstractStoreCursor.java:262) - QueueStorePrefetch1291856639 - Failed to fill batch
java.lang.NullPointerException
at org.apache.kahadb.index.BTreeNode$BTreeIterator.findNextPage(BTreeNode.java:110)
at org.apache.kahadb.index.BTreeNode$BTreeIterator.hasNext(BTreeNode.java:121)
at org.apache.activemq.store.kahadb.MessageDatabase$MessageOrderIndex$MessageOrderIterator.hasNext(MessageDatabase.java:2344)
at org.apache.activemq.store.kahadb.KahaDBStore$KahaDBMessageStore$5.execute(KahaDBStore.java:491)
at org.apache.kahadb.page.Transaction.execute(Transaction.java:728)
at org.apache.activemq.store.kahadb.KahaDBStore$KahaDBMessageStore.recoverNextMessages(KahaDBStore.java:485)
at org.apache.activemq.store.ProxyMessageStore.recoverNextMessages(ProxyMessageStore.java:88)
at org.apache.activemq.broker.region.cursors.QueueStorePrefetch.doFillBatch(QueueStorePrefetch.java:97)
at org.apache.activemq.broker.region.cursors.AbstractStoreCursor.fillBatch(AbstractStoreCursor.java:260)
at org.apache.activemq.broker.region.cursors.AbstractStoreCursor.reset(AbstractStoreCursor.java:108)
at org.apache.activemq.broker.region.cursors.StoreQueueCursor.reset(StoreQueueCursor.java:157)
at org.apache.activemq.broker.region.Queue.doPageInForDispatch(Queue.java:1712)
at org.apache.activemq.broker.region.Queue.pageInMessages(Queue.java:1932)
at org.apache.activemq.broker.region.Queue.iterate(Queue.java:1440)
at org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:127)
at org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:48)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)