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

KahaDB durable sub tracking breaks on duplicate messages

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 5.18.3, 6.0.1
    • 6.1.0, 5.18.4, 5.17.7, 6.0.2
    • KahaDB
    • None

    Description

      There is a bug in KahaDB on message add where if a message is marked as a duplicate the orderIndex next message Id is not rolled back. When a duplicate is detected and ignored the index is supposed to be rolled back so that the state isn't broken but in this case the sequence id is still incremented and this leads to gaps in the order index sequence.

      KahaDB tracks pending messages that need to be acknowledged for durable subs in a SequenceSet and that set is expected to be contiguous and if it isn't it breaks. The gaps lead to the store reporting messages still exist for durables and they appear as "stuck" even though there are no messages.

      The fix is to roll back the counter (this is already done in another spot) so it is only incremented if the message is stored. If an existing store is broken by this bug an index rebuild is likely necessary but then it wouldn't come back.

      Attachments

        Activity

          People

            cshannon Christopher L. Shannon
            cshannon Christopher L. Shannon
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0h
                0h
                Logged:
                Time Spent - 20m
                20m