activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Tom Samplonius <...@samplonius.org>
Subject Re: Too many "-"s problem
Date Sun, 24 Jun 2007 07:32:55 GMT

  Which of the Kaha files are the index files?


----- "James Strachan" <james.strachan@gmail.com> wrote:
> BTW if things like this happen; the work around is to stop the broker
> & zap the index files, then restart. Though we should make the broker
> automatically re-create the index files if things get corrupted :)
> 
> 
> On 6/6/07, Hiram Chirino <hiram@hiramchirino.com> wrote:
> > Hum.. looks like there is some corruption going on.  Will have to
> dig
> > into this and get back with you.  The new message store in ActiveMQ
> > 4.2 is brand new and as you can tell we are still working out the
> > kinks.  If you want, you can switch to using the old mechanism used
> in
> > 4.1.
> >
> > On 6/4/07, Tom Samplonius <tom@samplonius.org> wrote:
> > >
> > >   There is a problem when using the default persistence settings,
> and
> > > ActiveMQ is shutdown uncleanly with messages in a queue.  After a
> > > restart (and log recovery), and attempt to read a message out of
> the
> > > queue, generates the following error (and ActiveMQ hangs).
> > >
> > >    It appears that there are too many "-" in a concatenation
> somewhere,
> > > as the logfiles are "data-1", "data-2", etc, not "data--1", which
> is
> > > probably is what is generating the exception.
> > >
> > >   This is with 4.2-SNAPSHOT-20070602.
> > >
> > >
> > > > ERROR AsyncDataManager               - Looking for key 1 but not
> found
> > > > in fileMap: {3=data-3 number = 3 , length = 9051046 refCount =
> 3}
> > > > ERROR QueueStorePrefetch             - Failed to fill batch
> > > > java.io.IOException: Failed to read to journal for: offset =
> 20785811,
> > > > file = 1, size = -1, type = 0. Reason: java.io.IOException:
> Could not
> > > > locate data file data--1
> > > >         at
> > > >
> org.apache.activemq.util.IOExceptionSupport.create(IOExceptionSupport.java:31)
> > > >         at
> > > >
> org.apache.activemq.store.amq.AMQPersistenceAdapter.createReadException(AMQPersistenceAdapter.java:529)
> > > >         at
> > > >
> org.apache.activemq.store.amq.AMQPersistenceAdapter.readCommand(AMQPersistenceAdapter.java:409)
> > > >         at
> > > >
> org.apache.activemq.store.amq.AMQMessageStore.getMessage(AMQMessageStore.java:382)
> > > >         at
> > > >
> org.apache.activemq.store.amq.RecoveryListenerAdapter.recoverMessageReference(RecoveryListenerAdapter.java:52)
> > > >         at
> > > >
> org.apache.activemq.store.kahadaptor.KahaReferenceStore.recover(KahaReferenceStore.java:63)
> > > >         at
> > > >
> org.apache.activemq.store.kahadaptor.KahaReferenceStore.recoverNextMessages(KahaReferenceStore.java:89)
> > > >         at
> > > >
> org.apache.activemq.store.amq.AMQMessageStore.recoverNextMessages(AMQMessageStore.java:477)
> > > >         at
> > > >
> org.apache.activemq.broker.region.cursors.QueueStorePrefetch.fillBatch(QueueStorePrefetch.java:159)
> > > >         at
> > > >
> org.apache.activemq.broker.region.cursors.QueueStorePrefetch.hasNext(QueueStorePrefetch.java:110)
> > > >         at
> > > >
> org.apache.activemq.broker.region.cursors.StoreQueueCursor.hasNext(StoreQueueCursor.java:122)
> > > >         at
> > > >
> org.apache.activemq.broker.region.Queue.doPageIn(Queue.java:1007)
> > > >         at
> > > >
> org.apache.activemq.broker.region.Queue.doPageIn(Queue.java:992)
> > > >         at
> > > >
> org.apache.activemq.broker.region.Queue.addSubscription(Queue.java:215)
> > > >         at
> > > >
> org.apache.activemq.broker.region.AbstractRegion.addConsumer(AbstractRegion.java:241)
> > > >         at
> > > >
> org.apache.activemq.broker.region.RegionBroker.addConsumer(RegionBroker.java:341)
> > > >         at
> > > >
> org.apache.activemq.broker.BrokerFilter.addConsumer(BrokerFilter.java:87)
> > > >         at
> > > >
> org.apache.activemq.advisory.AdvisoryBroker.addConsumer(AdvisoryBroker.java:79)
> > > >         at
> > > >
> org.apache.activemq.broker.BrokerFilter.addConsumer(BrokerFilter.java:87)
> > > >         at
> > > >
> org.apache.activemq.broker.MutableBrokerFilter.addConsumer(MutableBrokerFilter.java:97)
> > > >         at
> > > >
> org.apache.activemq.broker.TransportConnection.processAddConsumer(TransportConnection.java:566)
> > > >         at
> > > >
> org.apache.activemq.command.ConsumerInfo.visit(ConsumerInfo.java:313)
> > > >         at
> > > >
> org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:282)
> > > >         at
> > > >
> org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:188)
> > > >         at
> > > >
> org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:65)
> > > >         at
> > > >
> org.apache.activemq.transport.stomp.StompTransportFilter.sendToActiveMQ(StompTransportFilter.java:81)
> > > >         at
> > > >
> org.apache.activemq.transport.stomp.ProtocolConverter.sendToActiveMQ(ProtocolConverter.java:119)
> > > >         at
> > > >
> org.apache.activemq.transport.stomp.ProtocolConverter.onStompSubscribe(ProtocolConverter.java:351)
> > > >         at
> > > >
> org.apache.activemq.transport.stomp.ProtocolConverter.onStompCommad(ProtocolConverter.java:149)
> > > >         at
> > > >
> org.apache.activemq.transport.stomp.StompTransportFilter.onCommand(StompTransportFilter.java:71)
> > > >         at
> > > >
> org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:84)
> > > >         at
> > > >
> org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:137)
> > > >         at java.lang.Thread.run(Thread.java:595)
> > > > Caused by: java.io.IOException: Could not locate data file
> data--1
> > > >         at
> > > >
> org.apache.activemq.kaha.impl.async.AsyncDataManager.getDataFile(AsyncDataManager.java:259)
> > > >         at
> > > >
> org.apache.activemq.kaha.impl.async.AsyncDataManager.read(AsyncDataManager.java:477)
> > > >         at
> > > >
> org.apache.activemq.store.amq.AMQPersistenceAdapter.readCommand(AMQPersistenceAdapter.java:406)
> > > >         ... 30 more
> > >
> > >
> >
> >
> > --
> > Regards,
> > Hiram
> >
> > Blog: http://hiramchirino.com
> >
> 
> 
> -- 
> James
> -------
> http://macstrac.blogspot.com/


Mime
View raw message