Maybe this?
https://issues.apache.org/jira/browse/AMQ-3120

Or this?
https://issues.apache.org/jira/browse/AMQ-4051

Definitely newer than 5.4.2... give 5.9 a spin...

On Thu, Nov 14, 2013 at 10:28 AM,  <barry.barn...@wellsfargo.com> wrote:
> V5.4.2.  Suggested upgrade to what version?
>
> Regards,
>
> Barry Barnett
> WMQ Enterprise Services & Solutions
> Wells Fargo
> Cell: 704-564-5501
>
>
> -----Original Message-----
> From: Torsten Mielke [mailto:tmie...@redhat.com]
> Sent: Thursday, November 14, 2013 11:43 AM
> To: users@activemq.apache.org
> Subject: Re: KahaDB Journal files go missing
>
> Which version of ActiveMQ are you using?
> I have seen these errors on older versions but not lately.
> Perhaps upgrading is a solution?
>
> Regards,
>
> Torsten Mielke
> tmie...@redhat.com
> tmielke.blogspot.com
>
>
> On Nov 14, 2013, at 14:19 PM, <barry.barn...@wellsfargo.com> 
> <barry.barn...@wellsfargo.com> wrote:
>
>> How would a journal file go 'missing'?
>>
>> Our AMQ usage uses the file store or KahaDB. A few months ago there was an 
>> incident wherein, for reasons I cannot found the root cause, some KahaDB 
>> journal files (*.log) got deleted or are missing. Due to this consumers 
>> cannot get the messages because the broker cannot find the next message in 
>> queue. After that subsequent messages just gets stuck, at first we don't 
>> have any choice but to delete all KahaDB files including indexes just to 
>> make it work of course the downside is we lose all the current messages. 
>> Here's the java stack trace we got when we encountered the issue.
>>
>> java.io.IOException: Could not locate data file /.../KahaDB/db-4875.log
>>        at org.apache.kahadb.journal.Journal.getDataFile(Journal.java:345)
>>        at org.apache.kahadb.journal.Journal.read(Journal.java:592)
>>        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)
>>        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.doBrowse(Queue.java:968)
>>        at 
>> org.apache.activemq.broker.region.Queue.expireMessages(Queue.java:772)
>>        at org.apache.activemq.broker.region.Queue.access$100(Queue.java:83)
>>        at org.apache.activemq.broker.region.Queue$2.run(Queue.java:123)
>>        at 
>> org.apache.activemq.thread.SchedulerTimerTask.run(SchedulerTimerTask.java:33)
>>        at java.util.TimerThread.mainLoop(Timer.java:512)
>>        at java.util.TimerThread.run(Timer.java:462)
>>
>> This is how we addressed the issue so subsequent messages will not get stuck 
>> and we only lose a few messages that are in the offending journal file(s). 
>> This is the Spring bean way, so something similar in plain AMQ is also 
>> available.
>> <bean ... class="org.apache.activemq.broker.BrokerService">
>>  ...
>>  <property name="persistenceAdapter">
>>    <bean class="org.apache.activemq.store.kahadb.KahaDBPersistenceAdapter">
>>      <property name="directory" value="${broker.dataDirectory}"/>
>>      <property name="ignoreMissingJournalfiles" value="true"/>
>>    </bean>
>>  </property>
>>  ...
>> </bean>
>>
>>
>> Regards,
>>
>> Barry
>>
>>
>
>
>



-- 
Christian Posta
http://www.christianposta.com/blog
twitter: @christianposta

Reply via email to