IOException PListStore "Could not locate data file" from
FilePendingMessageCursor
---------------------------------------------------------------------------------
Key: AMQ-3310
URL: https://issues.apache.org/jira/browse/AMQ-3310
Project: ActiveMQ
Issue Type: Bug
Components: Message Store
Affects Versions: 5.5.0
Reporter: Gary Tully
Assignee: Gary Tully
Fix For: 5.6.0
Corruption of the temp store used by file pending message cursors due to
removal of data files in error. Contention over reference counts and async
writes. Reproducible under heavy load with many concurrent consumers.
{code}java.lang.RuntimeException: java.io.IOException: Could not locate data
file ./tmp_storage/db-332.log
at
org.apache.activemq.broker.region.cursors.FilePendingMessageCursor$DiskIterator.<init>(FilePendingMessageCursor.java:486)
at
org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.reset(FilePendingMessageCursor.java:129)
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.DedicatedTaskRunner.runTask(DedicatedTaskRunner.java:104)
at
org.apache.activemq.thread.DedicatedTaskRunner$1.run(DedicatedTaskRunner.java:42)
Caused by: java.io.IOException: Could not locate data file
./tmp_storage/db-332.log
at org.apache.kahadb.journal.Journal.getDataFile(Journal.java:350)
at org.apache.kahadb.journal.Journal.read(Journal.java:597)
at
org.apache.activemq.store.kahadb.plist.PListStore.getPayload(PListStore.java:337)
at org.apache.activemq.store.kahadb.plist.PList.getFirst(PList.java:280)
at
org.apache.activemq.broker.region.cursors.FilePendingMessageCursor$DiskIterator.<init>(FilePendingMessageCursor.java:482){code}
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira