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: