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

Broker may be unable to recover durable topic subscription from the kahadb journal

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 5.7.0
    • Fix Version/s: 5.9.0
    • Component/s: Message Store
    • Labels:
      None
    • Environment:

      kahadb and durable topic subscribers

      Description

      KahaDB is supposed to recover its index from the journal completely.
      Such recovery can be enforced by stopping the broker, deleting the db.data index file and restarting the broker.

      The recovery process may however not be able to recover inactive durable topic subscriptions.
      This is because the kahadb cleanup task will not consider any active subscription entries in the journal files when marking journal files for deletion.

      E.g. If a durable sub info was written to e.g. the journal file db-1.log but kahadb has already rolled over to writing to db-2.log, the cleanup task may delete db1.log (in case all msgs in db1.log got acked). The durable sub however is still alive.
      When stopping the broker this durable sub info is still present in the index file and will be restored at broker restart.
      If however the index file gets deleted in order to enforce a recovery of the index from the journal, then the broker has lost the information about this durable sub.
      The broker is therefore not able to recover its state fully from the journal files.

      If the durable subscriber remains inactive (i.e. does not reconnect to broker immediately after broker restart), it may miss messages as the broker has no knowledge of this durable sub.

        Attachments

        1. AMQ4212Patch.txt
          58 kB
          Timothy Bish
        2. AMQ4212Test.java
          13 kB
          Timothy Bish
        3. AMQ4212Test.java
          8 kB
          Timothy Bish
        4. AMQ4212Test.java
          8 kB
          Timothy Bish

          Issue Links

            Activity

              People

              • Assignee:
                tabish121 Timothy Bish
                Reporter:
                tmielke Torsten Mielke
              • Votes:
                0 Vote for this issue
                Watchers:
                5 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: