activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hiram Chirino" <hi...@hiramchirino.com>
Subject Re: Too many "-"s problem
Date Wed, 06 Jun 2007 17:30:08 GMT
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

Mime
View raw message