The ones with 'index' in the name.
Tom is this still easily reproducible from the latest code ?
thanks,
Rob
On Jun 24, 2007, at 8:32 AM, Tom Samplonius wrote:
>
> 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.createReadExcepti
>> on(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.recoverMessageR
>> eference(RecoveryListenerAdapter.java:52)
>>>>> at
>>>>>
>> org.apache.activemq.store.kahadaptor.KahaReferenceStore.recover
>> (KahaReferenceStore.java:63)
>>>>> at
>>>>>
>> org.apache.activemq.store.kahadaptor.KahaReferenceStore.recoverNextMe
>> ssages(KahaReferenceStore.java:89)
>>>>> at
>>>>>
>> org.apache.activemq.store.amq.AMQMessageStore.recoverNextMessages
>> (AMQMessageStore.java:477)
>>>>> at
>>>>>
>> org.apache.activemq.broker.region.cursors.QueueStorePrefetch.fillBatc
>> h(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.sendToActive
>> MQ(StompTransportFilter.java:81)
>>>>> at
>>>>>
>> org.apache.activemq.transport.stomp.ProtocolConverter.sendToActiveMQ(
>> ProtocolConverter.java:119)
>>>>> at
>>>>>
>> org.apache.activemq.transport.stomp.ProtocolConverter.onStompSubscrib
>> e(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/
>
|