ClassCastException in KahaDB
----------------------------
Key: AMQ-2284
URL: https://issues.apache.org/activemq/browse/AMQ-2284
Project: ActiveMQ
Issue Type: Bug
Components: Message Store
Affects Versions: 5.3.0
Environment: Linux, activemq-core and kahadb 5.3-SNAPSHOT from
2009-06-02
Reporter: Swen Moczarski
We test the broker with the Kaha message store. After some time we get lots of
class cast exceptions:
{noformat}
[2009-06-06 06:01:22,047] [QueueThread:queue://xxx] [ERROR]
[org.apache.activemq.broker.region.cursors.AbstractStoreCursor] [Failed to fill
batch]
java.lang.ClassCastException: java.lang.Long cannot be cast to
org.apache.activemq.store.kahadb.MessageDatabase$MessageKeys
at
org.apache.activemq.store.kahadb.KahaDBStore$KahaDBMessageStore$4.execute(KahaDBStore.java:228)
at org.apache.kahadb.page.Transaction.execute(Transaction.java:728)
at
org.apache.activemq.store.kahadb.KahaDBStore$KahaDBMessageStore.recoverNextMessages(KahaDBStore.java:221)
at
org.apache.activemq.broker.region.cursors.QueueStorePrefetch.doFillBatch(QueueStorePrefetch.java:81)
at
org.apache.activemq.broker.region.cursors.AbstractStoreCursor.fillBatch(AbstractStoreCursor.java:227)
at
org.apache.activemq.broker.region.cursors.AbstractStoreCursor.hasNext(AbstractStoreCursor.java:134)
at
org.apache.activemq.broker.region.cursors.StoreQueueCursor.hasNext(StoreQueueCursor.java:131)
at org.apache.activemq.broker.region.Queue.doPageIn(Queue.java:1280)
at
org.apache.activemq.broker.region.Queue.pageInMessages(Queue.java:1419)
at org.apache.activemq.broker.region.Queue.iterate(Queue.java:1103)
at
org.apache.activemq.thread.DeterministicTaskRunner.runTask(DeterministicTaskRunner.java:84)
at
org.apache.activemq.thread.DeterministicTaskRunner$1.run(DeterministicTaskRunner.java:41)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
[2009-06-06 06:01:22,048] [QueueThread:queue://xxx] [ERROR]
[org.apache.activemq.broker.region.cursors.AbstractStoreCursor] [Failed to fill
batch]
java.lang.RuntimeException: java.lang.ClassCastException: java.lang.Long cannot
be cast to org.apache.activemq.store.kahadb.MessageDatabase$MessageKeys
at
org.apache.activemq.broker.region.cursors.AbstractStoreCursor.fillBatch(AbstractStoreCursor.java:230)
at
org.apache.activemq.broker.region.cursors.AbstractStoreCursor.hasNext(AbstractStoreCursor.java:134)
at
org.apache.activemq.broker.region.cursors.StoreQueueCursor.hasNext(StoreQueueCursor.java:131)
at org.apache.activemq.broker.region.Queue.doPageIn(Queue.java:1280)
at
org.apache.activemq.broker.region.Queue.pageInMessages(Queue.java:1419)
at org.apache.activemq.broker.region.Queue.iterate(Queue.java:1103)
at
org.apache.activemq.thread.DeterministicTaskRunner.runTask(DeterministicTaskRunner.java:84)
at
org.apache.activemq.thread.DeterministicTaskRunner$1.run(DeterministicTaskRunner.java:41)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.ClassCastException: java.lang.Long cannot be cast to
org.apache.activemq.store.kahadb.MessageDatabase$MessageKeys
at
org.apache.activemq.store.kahadb.KahaDBStore$KahaDBMessageStore$4.execute(KahaDBStore.java:228)
at org.apache.kahadb.page.Transaction.execute(Transaction.java:728)
at
org.apache.activemq.store.kahadb.KahaDBStore$KahaDBMessageStore.recoverNextMessages(KahaDBStore.java:221)
at
org.apache.activemq.broker.region.cursors.QueueStorePrefetch.doFillBatch(QueueStorePrefetch.java:81)
at
org.apache.activemq.broker.region.cursors.AbstractStoreCursor.fillBatch(AbstractStoreCursor.java:227)
... 10 more
{noformat}
For the messages we use the persistence delivery mode.
Our configuration (in Spring) for the persistance adapter:
{code:xml}
<property name="persistenceAdapter">
<bean class="org.apache.activemq.store.kahadb.KahaDBStore">
<property name="directory" value="/message/store/dir" />
</bean>
</property>
{code}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.