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/17 11:22:47 UTC

[jira] [Resolved] (AMQ-3325) PList temp store, chunk stream does not exist when broker under stress

     [ https://issues.apache.org/jira/browse/AMQ-3325?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Gary Tully resolved AMQ-3325.
-----------------------------

    Resolution: Fixed

add/remove of a plist needs to be synced with additions to the store as they share pages.

http://svn.apache.org/viewvc?rev=1104075&view=rev

> PList temp store,  chunk stream does not exist when broker under stress
> -----------------------------------------------------------------------
>
>                 Key: AMQ-3325
>                 URL: https://issues.apache.org/jira/browse/AMQ-3325
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Message Store
>    Affects Versions: 5.5.0
>         Environment: concurrency issue, multicore under load, sporadic occurrence, related to memory limits and dynamic destination creation/deletion
>            Reporter: Gary Tully
>            Assignee: Gary Tully
>              Labels: FilePendingMessageCursor, Temp
>             Fix For: 5.6.0
>
>
> apparent concurrency issue, multicore (8 cpu) under load, sporadic occurrence, related to memory limits and dynamic destination creation/deletion. Broker stack trace:
> {code}2011-04-07 08:04:07,295 [Queue:loadq-4  ] ERROR FilePendingMessageCursor       - I/O error
> java.io.EOFException: Chunk stream does not exist at page: 198
> 	at org.apache.kahadb.page.Transaction$2.readPage(Transaction.java:454)
> 	at org.apache.kahadb.page.Transaction$2.<init>(Transaction.java:431)
> 	at org.apache.kahadb.page.Transaction.openInputStream(Transaction.java:428)
> 	at org.apache.kahadb.page.Transaction.load(Transaction.java:404)
> 	at org.apache.kahadb.page.Transaction.load(Transaction.java:361)
> 	at org.apache.activemq.store.kahadb.plist.PList.loadEntry(PList.java:468)
> 	at org.apache.activemq.store.kahadb.plist.PList.getNext(PList.java:483)
> 	at org.apache.activemq.store.kahadb.plist.PList$10.execute(PList.java:312)
> 	at org.apache.kahadb.page.Transaction.execute(Transaction.java:728)
> 	at org.apache.activemq.store.kahadb.plist.PList.getNext(PList.java:310)
> 	at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor$DiskIterator.next(FilePendingMessageCursor.java:500)
> 	at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor$DiskIterator.next(FilePendingMessageCursor.java:473)
> 	at org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.next(FilePendingMessageCursor.java:293)
> 	at org.apache.activemq.broker.region.Queue.doPageInForDispatch(Queue.java:1714)
> 	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){code}

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira