[ 
https://issues.apache.org/jira/browse/AMQ-3098?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13078638#comment-13078638
 ] 

Christer WIkman commented on AMQ-3098:
--------------------------------------

We are experience the same problem. I had to delete all KahaDB log files in 
order to get ActiveMQ to start consuming messages. We lost over 100K of 
messages. The activemq.log file is full of this:


2011-08-03 10:04:37,312 | ERROR | Failed to fill batch | 
org.apache.activemq.broker.region.cursors.AbstractStoreCursor | 
Queue:queue/productionEvents
java.io.IOException: Invalid location: 3276:20560465, : 
java.lang.NegativeArraySizeException
        at 
org.apache.kahadb.journal.DataFileAccessor.readRecord(DataFileAccessor.java:94)
        at org.apache.kahadb.journal.Journal.read(Journal.java:596)
        at 
org.apache.activemq.store.kahadb.MessageDatabase.load(MessageDatabase.java:786)
        at 
org.apache.activemq.store.kahadb.KahaDBStore.loadMessage(KahaDBStore.java:956)
        at 
org.apache.activemq.store.kahadb.KahaDBStore$KahaDBMessageStore$5.execute(KahaDBStore.java:494)
        at org.apache.kahadb.page.Transaction.execute(Transaction.java:728)


> Failed to page in more queue messages - Cannot consume messages
> ---------------------------------------------------------------
>
>                 Key: AMQ-3098
>                 URL: https://issues.apache.org/jira/browse/AMQ-3098
>             Project: ActiveMQ
>          Issue Type: Bug
>    Affects Versions: 5.4.2
>            Reporter: Loc Truong
>            Priority: Critical
>
> With the error messages below, Consumers cannot consume any message until 
> clearing the data folder then restart ActiveMQ, assuming old messages are 
> lost.
> ERROR | Failed to fill batch
> java.lang.RuntimeException: java.io.IOException: Invalid location: 
> 1711:34233, : java.lang.NegativeArraySizeException
>         at 
> org.apache.activemq.broker.region.cursors.AbstractStoreCursor.fillBatch(AbstractStoreCursor.java:265)
>         at 
> org.apache.activemq.broker.region.cursors.AbstractStoreCursor.reset(AbstractStoreCursor.java:110)
>         at 
> org.apache.activemq.broker.region.cursors.StoreQueueCursor.reset(StoreQueueCursor.java:157)
>         at org.apache.activemq.broker.region.Queue.doPageIn(Queue.java:1678)
>         at 
> org.apache.activemq.broker.region.Queue.pageInMessages(Queue.java:1898)
>         at org.apache.activemq.broker.region.Queue.iterate(Queue.java:1425)
>         at 
> org.apache.activemq.thread.DedicatedTaskRunner.runTask(DedicatedTaskRunner.java:98)
>         at 
> org.apache.activemq.thread.DedicatedTaskRunner$1.run(DedicatedTaskRunner.java:36)
> Caused by: java.io.IOException: Invalid location: 1711:34233, : 
> java.lang.NegativeArraySizeException
>         at 
> org.apache.kahadb.journal.DataFileAccessor.readRecord(DataFileAccessor.java:94)
>         at org.apache.kahadb.journal.Journal.read(Journal.java:596)
>         at 
> org.apache.activemq.store.kahadb.MessageDatabase.load(MessageDatabase.java:786)
>         at 
> org.apache.activemq.store.kahadb.KahaDBStore.loadMessage(KahaDBStore.java:956)
>         at 
> org.apache.activemq.store.kahadb.KahaDBStore$KahaDBMessageStore$5.execute(KahaDBStore.java:494)
>         at org.apache.kahadb.page.Transaction.execute(Transaction.java:728)
>         at 
> org.apache.activemq.store.kahadb.KahaDBStore$KahaDBMessageStore.recoverNextMessages(KahaDBStore.java:485)
>         at 
> org.apache.activemq.store.ProxyMessageStore.recoverNextMessages(ProxyMessageStore.java:88)
>         at 
> org.apache.activemq.broker.region.cursors.QueueStorePrefetch.doFillBatch(QueueStorePrefetch.java:97)
>         at 
> org.apache.activemq.broker.region.cursors.AbstractStoreCursor.fillBatch(AbstractStoreCursor.java:262)
>         ... 7 more
> ERROR | Failed to page in more queue messages
> java.lang.RuntimeException: java.lang.RuntimeException: java.io.IOException: 
> Invalid location: 1711:34233, : java.lang.NegativeArraySizeException
>         at 
> org.apache.activemq.broker.region.cursors.AbstractStoreCursor.reset(AbstractStoreCursor.java:113)
>         at 
> org.apache.activemq.broker.region.cursors.StoreQueueCursor.reset(StoreQueueCursor.java:157)
>         at org.apache.activemq.broker.region.Queue.doPageIn(Queue.java:1678)
>         at 
> org.apache.activemq.broker.region.Queue.pageInMessages(Queue.java:1898)
>         at org.apache.activemq.broker.region.Queue.iterate(Queue.java:1425)
>         at 
> org.apache.activemq.thread.DedicatedTaskRunner.runTask(DedicatedTaskRunner.java:98)
>         at 
> org.apache.activemq.thread.DedicatedTaskRunner$1.run(DedicatedTaskRunner.java:36)
> Caused by: java.lang.RuntimeException: java.io.IOException: Invalid location: 
> 1711:34233, : java.lang.NegativeArraySizeException
>         at 
> org.apache.activemq.broker.region.cursors.AbstractStoreCursor.fillBatch(AbstractStoreCursor.java:265)
>         at 
> org.apache.activemq.broker.region.cursors.AbstractStoreCursor.reset(AbstractStoreCursor.java:110)
>         ... 6 more
> Caused by: java.io.IOException: Invalid location: 1711:34233, : 
> java.lang.NegativeArraySizeException
>         at 
> org.apache.kahadb.journal.DataFileAccessor.readRecord(DataFileAccessor.java:94)
>         at org.apache.kahadb.journal.Journal.read(Journal.java:596)
>         at 
> org.apache.activemq.store.kahadb.MessageDatabase.load(MessageDatabase.java:786)
>         at 
> org.apache.activemq.store.kahadb.KahaDBStore.loadMessage(KahaDBStore.java:956)
>         at 
> org.apache.activemq.store.kahadb.KahaDBStore$KahaDBMessageStore$5.execute(KahaDBStore.java:494)
>         at org.apache.kahadb.page.Transaction.execute(Transaction.java:728)
>         at 
> org.apache.activemq.store.kahadb.KahaDBStore$KahaDBMessageStore.recoverNextMessages(KahaDBStore.java:485)
>         at 
> org.apache.activemq.store.ProxyMessageStore.recoverNextMessages(ProxyMessageStore.java:88)
>         at 
> org.apache.activemq.broker.region.cursors.QueueStorePrefetch.doFillBatch(QueueStorePrefetch.java:97)
>         at 
> org.apache.activemq.broker.region.cursors.AbstractStoreCursor.fillBatch(AbstractStoreCursor.java:262)
>         ... 7 more

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

        

Reply via email to