[
https://issues.apache.org/jira/browse/AMQ-9435?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Christopher L. Shannon resolved AMQ-9435.
-----------------------------------------
Resolution: Fixed
> KahaDB durable sub tracking breaks on duplicate messages
> --------------------------------------------------------
>
> Key: AMQ-9435
> URL: https://issues.apache.org/jira/browse/AMQ-9435
> Project: ActiveMQ Classic
> Issue Type: Bug
> Components: KahaDB
> Affects Versions: 5.18.3, 6.0.1
> Reporter: Christopher L. Shannon
> Assignee: Christopher L. Shannon
> Priority: Major
> Fix For: 6.1.0, 5.18.4, 6.0.2
>
> Time Spent: 20m
> Remaining Estimate: 0h
>
> 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.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)