[ 
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)

Reply via email to