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