Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Cannot Reproduce
    • Affects Version/s: 5.3.0
    • Fix Version/s: 5.x
    • Component/s: Message Store
    • Labels:
      None
    • Environment:

      Linux, activemq-core and kahadb 5.3-SNAPSHOT from 2009-06-02

      Description

      We test the broker with the Kaha message store. After some time we get lots of class cast exceptions:

      [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
      

      For the messages we use the persistence delivery mode.

      Our configuration (in Spring) for the persistance adapter:

       
      <property name="persistenceAdapter">
         <bean class="org.apache.activemq.store.kahadb.KahaDBStore">
            <property name="directory" value="/message/store/dir" />
         </bean>
      </property>
      

        Activity

        Hide
        Giampaolo Tranchida added a comment -

        We see exactly the same error with 5.5.0-fuse-00-27 in high load condition, but only one time.
        We suspect a problem with the SAN / filesystem that cause a filestore corruption.
        After server restart all seems OK.
        Do you have any test case to reproduce this error / bug ?

        Show
        Giampaolo Tranchida added a comment - We see exactly the same error with 5.5.0-fuse-00-27 in high load condition, but only one time. We suspect a problem with the SAN / filesystem that cause a filestore corruption. After server restart all seems OK. Do you have any test case to reproduce this error / bug ?
        Hide
        Ashish Jain added a comment -

        We are also seeing the same behavior and the issue is resolved on restart. Can someone help understand why this issue occurs?

        Thanks
        Mav

        Show
        Ashish Jain added a comment - We are also seeing the same behavior and the issue is resolved on restart. Can someone help understand why this issue occurs? Thanks Mav
        Hide
        Timothy Bish added a comment -

        No test case provided. There were a large number of fixes to KahaDB for v5.6.0 recommend using the new release.

        Show
        Timothy Bish added a comment - No test case provided. There were a large number of fixes to KahaDB for v5.6.0 recommend using the new release.

          People

          • Assignee:
            Unassigned
            Reporter:
            Swen Moczarski
          • Votes:
            6 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development