Uploaded image for project: 'ActiveMQ'
  1. ActiveMQ
  2. AMQ-4917

LevelDB store can fail when using durable subs

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 5.9.0
    • Fix Version/s: 5.9.1, 5.10.0
    • Component/s: Broker
    • Labels:
      None

      Description

      Tenzin giatso original reported this issue in AMQ-4837 :

      The broker stopped 3 times this night after about 6h50min, then 6h50 min then 50min.
      The error sounds to be the saĆ¹me (except the line number in class) but the broker restart automaticly with the snapshot.
      2013-11-19 05:27:43,671 | INFO | Stopping BrokerService[localhost] due to exception, java.io.IOException | org.apache.activemq.util.DefaultIOExceptionHandler | LevelDB IOException handler.
      java.io.IOException
      at org.apache.activemq.util.IOExceptionSupport.create(IOExceptionSupport.java:39)
      at org.apache.activemq.leveldb.LevelDBClient.might_fail(LevelDBClient.scala:554)
      at org.apache.activemq.leveldb.LevelDBClient.might_fail_using_index(LevelDBClient.scala:1021)
      at org.apache.activemq.leveldb.LevelDBClient.collectionCursor(LevelDBClient.scala:1320)
      at org.apache.activemq.leveldb.LevelDBClient.queueCursor(LevelDBClient.scala:1244)
      at org.apache.activemq.leveldb.DBManager.cursorMessages(DBManager.scala:708)
      at org.apache.activemq.leveldb.LevelDBStore$LevelDBMessageStore.recover(LevelDBStore.scala:747)
      at org.apache.activemq.broker.region.Topic.doBrowse(Topic.java:588)
      at org.apache.activemq.broker.region.Topic.access$100(Topic.java:65)
      at org.apache.activemq.broker.region.Topic$6.run(Topic.java:721)
      at org.apache.activemq.thread.SchedulerTimerTask.run(SchedulerTimerTask.java:33)
      at java.util.TimerThread.mainLoop(Unknown Source)
      at java.util.TimerThread.run(Unknown Source)
      Caused by: java.lang.NullPointerException
      at org.apache.activemq.leveldb.LevelDBClient$$anonfun$queueCursor$1.apply(LevelDBClient.scala:1248)
      It's not easy to reproduce. It's better with the snapshot but i can't say that no messages are lost with leveldb.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                chirino Hiram R. Chirino
                Reporter:
                chirino Hiram R. Chirino
              • Votes:
                1 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: