Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
5.13.0
-
None
Description
The index tracks producerAudit and ackMessageFileMap locations. Failure to recreate/read on startup can be replayed from the journal however if the locations are corrupt the broker errors out. In this case a replay can still recreate this information.
java.io.IOException: Invalid location: 7:4802, : java.lang.NegativeArraySizeException at org.apache.activemq.store.kahadb.disk.journal.DataFileAccessor.readRecord(DataFileAccessor.java:92) at org.apache.activemq.store.kahadb.disk.journal.Journal.read(Journal.java:867) at org.apache.activemq.store.kahadb.MessageDatabase.load(MessageDatabase.java:1123) at org.apache.activemq.store.kahadb.MessageDatabase.recoverProducerAudit(MessageDatabase.java:754) at org.apache.activemq.store.kahadb.MessageDatabase.recover(MessageDatabase.java:639) at org.apache.activemq.store.kahadb.MessageDatabase.open(MessageDatabase.java:439) at org.apache.activemq.store.kahadb.MessageDatabase.load(MessageDatabase.java:458) at org.apache.activemq.store.kahadb.MessageDatabase.doStart(MessageDatabase.java:291) at org.apache.activemq.store.kahadb.KahaDBStore.doStart(KahaDBStore.java:216) at org.apache.activemq.util.ServiceSupport.start(ServiceSupport.java:55) at org.apache.activemq.store.kahadb.KahaDBPersistenceAdapter.doStart(KahaDBPersistenceAdapter.java:223) at org.apache.activemq.util.ServiceSupport.start(ServiceSupport.java:55) at org.apache.activemq.broker.BrokerService.doStartPersistenceAdapter(BrokerService.java:674) at org.apache.activemq.broker.BrokerService.startPersistenceAdapter(BrokerService.java:658) at org.apache.activemq.broker.BrokerService.start(BrokerService.java:622) Caused by: java.lang.NegativeArraySizeException at org.apache.activemq.store.kahadb.disk.journal.DataFileAccessor.readRecord(DataFileAccessor.java:87)