Did you have any corruption of kahadb files outside of the broker?

On Sun, Dec 22, 2013 at 4:53 AM, senthil.arumugam
<senthilkumar...@gmail.com> wrote:
> Hi,
>
> We are using ActiveMQ 5.5.1 and recently the broker crashed. It failed to
> restart until we cleared all the data files.
>
> Any help to understand the rootcause or workaround to handle this issue ?
>
>
> Below are the exceptions noticed in activemq.log,
>
> 2013-12-21 20:33:16,207 | ERROR | KahaDB failed to store to Journal |
> org.apache.activemq.store.kahadb.MessageDatabase |
> ConcurrentQueueStoreAndDispatch
> java.io.EOFException: Chunk stream does not exist at page: 9449
>         at
> org.apache.kahadb.page.Transaction$2.readPage(Transaction.java:454)
>         at org.apache.kahadb.page.Transaction$2.<init>(Transaction.java:431)
>         at
> org.apache.kahadb.page.Transaction.openInputStream(Transaction.java:428)
>         at org.apache.kahadb.page.Transaction.load(Transaction.java:404)
>         at org.apache.kahadb.page.Transaction.load(Transaction.java:361)
>         at org.apache.kahadb.index.BTreeIndex.loadNode(BTreeIndex.java:262)
>         at org.apache.kahadb.index.BTreeNode.getChild(BTreeNode.java:225)
>         at org.apache.kahadb.index.BTreeNode.getLeafNode(BTreeNode.java:672)
>         at org.apache.kahadb.index.BTreeNode.put(BTreeNode.java:368)
>         at org.apache.kahadb.index.BTreeIndex.put(BTreeIndex.java:189)
>         at
> org.apache.activemq.store.kahadb.MessageDatabase.upadateIndex(MessageDatabase.java:993)
>         at
> org.apache.activemq.store.kahadb.MessageDatabase$14.execute(MessageDatabase.java:872)
>         at org.apache.kahadb.page.Transaction.execute(Transaction.java:728)
>         at
> org.apache.activemq.store.kahadb.MessageDatabase.process(MessageDatabase.java:870)
>         at
> org.apache.activemq.store.kahadb.MessageDatabase$13.visit(MessageDatabase.java:828)
>         at
> org.apache.activemq.store.kahadb.data.KahaAddMessageCommand.visit(KahaAddMessageCommand.java:241)
>         at
> org.apache.activemq.store.kahadb.MessageDatabase.process(MessageDatabase.java:825)
>         at
> org.apache.activemq.store.kahadb.MessageDatabase.store(MessageDatabase.java:751)
>         at
> org.apache.activemq.store.kahadb.KahaDBStore$KahaDBMessageStore.addMessage(KahaDBStore.java:366)
>         at
> org.apache.activemq.store.kahadb.KahaDBStore$StoreQueueTask.run(KahaDBStore.java:1123)
>         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:619)
>
>
> 2013-12-21 20:33:15,897 | WARN  | Async error occurred:
> java.lang.ClassCastException: java.lang.Long cannot be cast to
> java.lang.String | org.apache.activemq.broker.TransportConnection.Service |
> ActiveMQ Transport: tcp:///10.128.24.198:5
> 4154
> java.lang.ClassCastException: java.lang.Long cannot be cast to
> java.lang.String
>         at
> org.apache.kahadb.util.StringMarshaller.writePayload(StringMarshaller.java:28)
>         at
> org.apache.kahadb.index.BTreeNode$Marshaller.writePayload(BTreeNode.java:163)
>         at
> org.apache.kahadb.index.BTreeNode$Marshaller.writePayload(BTreeNode.java:147)
>         at org.apache.kahadb.page.Transaction.store(Transaction.java:249)
>         at org.apache.kahadb.index.BTreeIndex.storeNode(BTreeIndex.java:289)
>         at org.apache.kahadb.index.BTreeNode.remove(BTreeNode.java:316)
>         at org.apache.kahadb.index.BTreeNode.remove(BTreeNode.java:287)
>         at org.apache.kahadb.index.BTreeNode.remove(BTreeNode.java:287)
>         at org.apache.kahadb.index.BTreeIndex.remove(BTreeIndex.java:194)
>         at
> org.apache.activemq.store.kahadb.MessageDatabase.updateIndex(MessageDatabase.java:1029)
>         at
> org.apache.activemq.store.kahadb.MessageDatabase$15.execute(MessageDatabase.java:890)
>         at org.apache.kahadb.page.Transaction.execute(Transaction.java:728)
>         at
> org.apache.activemq.store.kahadb.MessageDatabase.process(MessageDatabase.java:888)
>         at
> org.apache.activemq.store.kahadb.MessageDatabase$13.visit(MessageDatabase.java:833)
>         at
> org.apache.activemq.store.kahadb.data.KahaRemoveMessageCommand.visit(KahaRemoveMessageCommand.java:220)
>         at
> org.apache.activemq.store.kahadb.MessageDatabase.process(MessageDatabase.java:825)
>         at
> org.apache.activemq.store.kahadb.MessageDatabase.store(MessageDatabase.java:751)
>         at
> org.apache.activemq.store.kahadb.KahaDBStore$KahaDBMessageStore.removeMessage(KahaDBStore.java:378)
>         at
> org.apache.activemq.store.kahadb.KahaDBStore$KahaDBMessageStore.removeAsyncMessage(KahaDBStore.java:350)
>         at
> org.apache.activemq.store.kahadb.KahaDBTransactionStore.removeAsyncMessage(KahaDBTransactionStore.java:457)
>         at
> org.apache.activemq.store.kahadb.KahaDBTransactionStore$1.removeAsyncMessage(KahaDBTransactionStore.java:171)
>         at
> org.apache.activemq.broker.region.Queue.acknowledge(Queue.java:800)
>         at
> org.apache.activemq.broker.region.Queue.removeMessage(Queue.java:1530)
>         at
> org.apache.activemq.broker.region.QueueSubscription.acknowledge(QueueSubscription.java:59)
>         at
> org.apache.activemq.broker.region.PrefetchSubscription.acknowledge(PrefetchSubscription.java:253)
>         at
> org.apache.activemq.broker.region.AbstractRegion.acknowledge(AbstractRegion.java:383)
>         at
> org.apache.activemq.broker.region.RegionBroker.acknowledge(RegionBroker.java:546)
>         at
> org.apache.activemq.broker.BrokerFilter.acknowledge(BrokerFilter.java:78)
>         at
> org.apache.activemq.broker.BrokerFilter.acknowledge(BrokerFilter.java:78)
>         at
> org.apache.activemq.broker.TransactionBroker.acknowledge(TransactionBroker.java:197)
>         at
> org.apache.activemq.broker.MutableBrokerFilter.acknowledge(MutableBrokerFilter.java:87)
>         at
> org.apache.activemq.broker.TransportConnection.processMessageAck(TransportConnection.java:468)
>         at org.apache.activemq.command.MessageAck.visit(MessageAck.java:214)
>         at
> org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:310)
>         at
> org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:184)
>         at
> org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:69)
>         at
> org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:113)
>         at
> org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:227)
>         at
> org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83)
>         at
> org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:222)
>         at
> org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:204)
>         at java.lang.Thread.run(Thread.java:619)
>
>
>
>
> --
> View this message in context: 
> http://activemq.2283324.n4.nabble.com/MQ-broker-crash-tp4675798.html
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.



-- 
Christian Posta
http://www.christianposta.com/blog
twitter: @christianposta

Reply via email to