You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Gary Tully (JIRA)" <ji...@apache.org> on 2011/05/09 17:17:03 UTC

[jira] [Created] (AMQ-3310) IOException PListStore "Could not locate data file" from FilePendingMessageCursor

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

[jira] [Resolved] (AMQ-3310) IOException PListStore "Could not locate data file" from FilePendingMessageCursor

Posted by "Gary Tully (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AMQ-3310?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Gary Tully resolved AMQ-3310.
-----------------------------

    Resolution: Fixed

fix in http://svn.apache.org/viewvc?rev=1101085&view=rev

> 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
>              Labels: PListStore, cursors, temp
>             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