I have not been able to reproduce this problem outside of our
application,
but I'm still trying.
Anyway, I'm using regular Kaha persistence (not AMQMessageStore),
and during
a Durable Topic test, I'm eventually getting the following
exception
in the
AMQBroker, after which the broker stops forwarding events to the
consumer.
Anyone seen this?
<
org
.apache
.activemq.broker.region.cursors.AbstractStoreCursor.fillBatch>
<Thread[ActiveMQ Transport: tcp:///127.0.0.1:43595,4,main]> Failed
to fill
batch
Stack Trace follows:
java.lang.RuntimeException: Failed to get next index from
IndexManager:(index-topic-subs) for offset=7681977, key=(2,
20080006, 47),
value=(2, 20080058, 165), previousItem=7681212, nextItem=7682895
at
org
.apache
.activemq
.kaha
.impl
.index.DiskIndexLinkedList.getNextEntry(DiskIndexLinkedList.java:
267)
at
org
.apache
.activemq
.kaha
.impl.container.MapContainerImpl.getNext(MapContainerImpl.java:
449)
at
org
.apache
.activemq
.store
.kahadaptor.TopicSubContainer.getNextEntry(TopicSubContainer.java:
95)
at
org
.apache
.activemq
.store
.kahadaptor
.KahaTopicMessageStore
.recoverNextMessages(KahaTopicMessageStore.java:165)
at
org
.apache
.activemq
.store
.ProxyTopicMessageStore
.recoverNextMessages(ProxyTopicMessageStore.java:97)
at
org
.apache
.activemq
.broker
.region
.cursors.TopicStorePrefetch.doFillBatch(TopicStorePrefetch.java:
107)
at
org
.apache
.activemq
.broker
.region
.cursors.AbstractStoreCursor.fillBatch(AbstractStoreCursor.java:
188)
at
org
.apache
.activemq
.broker
.region
.cursors.AbstractStoreCursor.hasNext(AbstractStoreCursor.java:
104)
at
org
.apache
.activemq
.broker
.region
.cursors
.StoreDurableSubscriberCursor
.hasNext(StoreDurableSubscriberCursor.java:210
)
at
org
.apache
.activemq
.broker
.region
.PrefetchSubscription.dispatchPending(PrefetchSubscription.java:
479)
at
org
.apache
.activemq
.broker
.region.PrefetchSubscription.acknowledge(PrefetchSubscription.java:
357)
at
org
.apache
.activemq
.broker.region.AbstractRegion.acknowledge(AbstractRegion.java:349)
at
org
.apache
.activemq.broker.region.RegionBroker.acknowledge(RegionBroker.java:
474)
at
org
.apache
.activemq
.broker.TransactionBroker.acknowledge(TransactionBroker.java:194)
at
org
.apache
.activemq.broker.BrokerFilter.acknowledge(BrokerFilter.java:73)
at
org
.apache
.activemq.broker.BrokerFilter.acknowledge(BrokerFilter.java:73)
at
org
.apache
.activemq
.broker.MutableBrokerFilter.acknowledge(MutableBrokerFilter.java:
84)
at
org
.apache
.activemq
.broker
.TransportConnection.processMessageAck(TransportConnection.java:
444)
at
org.apache.activemq.command.MessageAck.visit(MessageAck.java:196)
at
org
.apache
.activemq
.broker.TransportConnection.service(TransportConnection.java:293)
at
org.apache.activemq.broker.TransportConnection
$1.onCommand(TransportConnection.java:181)
at
org
.apache
.activemq
.transport.TransportFilter.onCommand(TransportFilter.java:68)
at
org
.apache
.activemq
.transport
.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:
143)
at
org
.apache
.activemq
.transport.InactivityMonitor.onCommand(InactivityMonitor.java:206)
at
org
.apache
.activemq
.transport.TransportSupport.doConsume(TransportSupport.java:
84)
at
org
.apache
.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:
196)
at
org
.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:
183)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.io.EOFException
at java.io.RandomAccessFile.readFully(RandomAccessFile.java:
383)
at java.io.RandomAccessFile.readFully(RandomAccessFile.java:
361)
at
org
.apache
.activemq
.kaha.impl.index.StoreIndexReader.readItem(StoreIndexReader.java:
46)
at
org
.apache
.activemq.kaha.impl.index.IndexManager.getIndex(IndexManager.java:
66)
at
org
.apache
.activemq
.kaha
.impl
.index.DiskIndexLinkedList.getNextEntry(DiskIndexLinkedList.java:
265)
... 27 more
--
View this message in context:
http://www.nabble.com/Kaha-persistence-issue-w-5.1-%28upto-4-8-SNAPSHOT%29-tp16677512s2354p16677512.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.