[
https://issues.apache.org/jira/browse/AMQ-9435?focusedWorklogId=905079&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-905079
]
ASF GitHub Bot logged work on AMQ-9435:
---------------------------------------
Author: ASF GitHub Bot
Created on: 15/Feb/24 14:43
Start Date: 15/Feb/24 14:43
Worklog Time Spent: 10m
Work Description: cshannon opened a new pull request, #1153:
URL: https://github.com/apache/activemq/pull/1153
This commit fixes a bug in KahaDB that caused gaps in sequence ack tracking
for durables that would lead to the appearance of stuck messages on durable
subs if duplicate messages were detected. The sequence is now correctly rolled
back so that there is no gap if the message is not added to the order index
Issue Time Tracking
-------------------
Worklog Id: (was: 905079)
Remaining Estimate: 0h
Time Spent: 10m
> 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: 10m
> 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)