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, tools, and much more.