You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "Gary Tully (JIRA)" <ji...@apache.org> on 2016/07/27 10:53:20 UTC
[jira] [Created] (AMQ-6376) IOException on pageIn should involve
IOExeceptionHandler
Gary Tully created AMQ-6376:
-------------------------------
Summary: IOException on pageIn should involve IOExeceptionHandler
Key: AMQ-6376
URL: https://issues.apache.org/jira/browse/AMQ-6376
Project: ActiveMQ
Issue Type: Bug
Components: Broker, Message Store
Affects Versions: 5.13.0
Reporter: Gary Tully
Assignee: Gary Tully
Fix For: 5.14.0
This relates to AMQ-6372 where the broker was running out of file descriptors.
However if the IOException occurred for dispatch when the cache is disabled the broker carries on in error. The IOExceptionHandler is invoked on every store write failure, but should also be on the read error path.
This ensures a timely response to disk IO errors.
{code}2016-07-27 11:50:26,292 [calhost] Task-1] - ERROR AbstractStoreCursor - org.apache.activemq.broker.region.cursors.QueueStorePrefetch@7cd532ee:Test,batchResetNeeded=false,size=50,cacheEnabled=false,maxBatchSize:50,hasSpace:true,pendingCachedIds.size:0,lastSyncCachedId:null,lastSyncCachedId-seq:null,lastAsyncCachedId:null,lastAsyncCachedId-seq:null,store=permits:10000,sd=nextSeq:50,lastRet:MessageOrderCursor:[def:0, low:0, high:0],pending:0 - Failed to fill batch
java.io.EOFException
at java.io.RandomAccessFile.readFully(RandomAccessFile.java:446)
at java.io.RandomAccessFile.readFully(RandomAccessFile.java:424)
at org.apache.activemq.util.RecoverableRandomAccessFile.readFully(RecoverableRandomAccessFile.java:75)
at org.apache.activemq.store.kahadb.disk.journal.DataFileAccessor.readRecord(DataFileAccessor.java:88)
at org.apache.activemq.store.kahadb.disk.journal.Journal.read(Journal.java:867)
at org.apache.activemq.store.kahadb.MessageDatabase.load(MessageDatabase.java:1118)
at org.apache.activemq.store.kahadb.KahaDBStore.loadMessage(KahaDBStore.java:1177)
at org.apache.activemq.store.kahadb.KahaDBStore$KahaDBMessageStore$4.execute(KahaDBStore.java:584)
at org.apache.activemq.store.kahadb.disk.page.Transaction.execute(Transaction.java:779)
at org.apache.activemq.store.kahadb.KahaDBStore$KahaDBMessageStore.recoverNextMessages(KahaDBStore.java:573)
at org.apache.activemq.store.ProxyMessageStore.recoverNextMessages(ProxyMessageStore.java:110)
at org.apache.activemq.broker.region.cursors.QueueStorePrefetch.doFillBatch(QueueStorePrefetch.java:120)
at org.apache.activemq.broker.region.cursors.AbstractStoreCursor.fillBatch(AbstractStoreCursor.java:406)
at org.apache.activemq.broker.region.cursors.AbstractStoreCursor.reset(AbstractStoreCursor.java:149)
at org.apache.activemq.broker.region.cursors.StoreQueueCursor.reset(StoreQueueCursor.java:169)
at org.apache.activemq.broker.region.Queue.doPageInForDispatch(Queue.java:1935)
at org.apache.activemq.broker.region.Queue.pageInMessages(Queue.java:2160){code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)