How to configure Fuse Message Broker to handle missing or corrupt DB log files when using KahaDB
Issue
-
How to configure KahaDB to handle missing or corrupted log files
-
We get the following exceptions in our log at startup:
INFO | veMQ Broker: mq0 | ActiveMQServiceFactory | y$ClusteredConfiguration$$anon$3 325 | 95 - org.fusesource.mq.mq-fabric - 7.1.0.fuse-047 | Exception on start: java.io.IOException: Detected missing/corrupt journal files. 178214 messages affected.
java.io.IOException: Detected missing/corrupt journal files. 178214 messages affected.
at org.apache.activemq.store.kahadb.MessageDatabase.recoverIndex(MessageDatabase.java:695)[113:org.apache.activemq.activemq-core:5.7.0.fuse-71-047]
at org.apache.activemq.store.kahadb.MessageDatabase$6.execute(MessageDatabase.java:505)[113:org.apache.activemq.activemq-core:5.7.0.fuse-71-047]
at org.apache.kahadb.page.Transaction.execute(Transaction.java:772)[70:org.apache.activemq.kahadb:5.7.0.fuse-71-047]
at org.apache.activemq.store.kahadb.MessageDatabase.recover(MessageDatabase.java:503)[113:org.apache.activemq.activemq-core:5.7.0.fuse-71-047]
at org.apache.activemq.store.kahadb.MessageDatabase.open(MessageDatabase.java:366)[113:org.apache.activemq.activemq-core:5.7.0.fuse-71-047]
at org.apache.activemq.store.kahadb.MessageDatabase.load(MessageDatabase.java:384)[113:org.apache.activemq.activemq-core:5.7.0.fuse-71-047]
at org.apache.activemq.store.kahadb.MessageDatabase.doStart(MessageDatabase.java:239)[113:org.apache.activemq.activemq-core:5.7.0.fuse-71-047]
at org.apache.activemq.store.kahadb.KahaDBStore.doStart(KahaDBStore.java:180)[113:org.apache.activemq.activemq-core:5.7.0.fuse-71-047]
at org.apache.activemq.util.ServiceSupport.start(ServiceSupport.java:55)[113:org.apache.activemq.activemq-core:5.7.0.fuse-71-047]
at org.apache.activemq.store.kahadb.KahaDBPersistenceAdapter.doStart(KahaDBPersistenceAdapter.java:195)[113:org.apache.activemq.activemq-core:5.7.0.fuse-71-047]
at org.apache.activemq.util.ServiceSupport.start(ServiceSupport.java:55)[113:org.apache.activemq.activemq-core:5.7.0.fuse-71-047]
at org.apache.activemq.store.kahadb.MultiKahaDBPersistenceAdapter.start(MultiKahaDBPersistenceAdapter.java:299)[113:org.apache.activemq.activemq-core:5.7.0.fuse-71-047]
at org.apache.activemq.broker.BrokerService.doStartPersistenceAdapter(BrokerService.java:623)[113:org.apache.activemq.activemq-core:5.7.0.fuse-71-047]
at org.apache.activemq.broker.BrokerService.startPersistenceAdapter(BrokerService.java:612)[113:org.apache.activemq.activemq-core:5.7.0.fuse-71-047]
at org.apache.activemq.broker.BrokerService.start(BrokerService.java:577)[113:org.apache.activemq.activemq-core:5.7.0.fuse-71-047]
at org.fusesource.mq.fabric.ActiveMQServiceFactory$ClusteredConfiguration$$anon$3.run(ActiveMQServiceFactory.scala:307)[95:org.fusesource.mq.mq-fabric:7.1.0.fuse-047]
Environment
- Fuse Message Broker/ActiveMQ 5.3.0.5
- Fuse ESB 7.1.0
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase of over 48,000 articles and solutions.
Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.
