[ 
https://issues.apache.org/jira/browse/AMQ-9436?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17817809#comment-17817809
 ] 

ASF subversion and git services commented on AMQ-9436:
------------------------------------------------------

Commit 65a6b805a04766ab0523033634c00cc338090217 in activemq's branch 
refs/heads/main from Christopher L. Shannon
[ https://gitbox.apache.org/repos/asf?p=activemq.git;h=65a6b805a ]

Merge pull request #1154 from cshannon/AMQ-9436

AMQ-9436 - Ensure message audit in queue store cursor is shared

> StoreQueueCursor creates different audits for persistent and non persistent 
> cursors
> -----------------------------------------------------------------------------------
>
>                 Key: AMQ-9436
>                 URL: https://issues.apache.org/jira/browse/AMQ-9436
>             Project: ActiveMQ Classic
>          Issue Type: Bug
>          Components: Broker
>    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
>
> While working on AMQ-9435 I noticed that StoreQueueCursor incorrectly sets 
> the start flag to true first before calling calling super.start() in the 
> start method. This means that when super is called the message audit is never 
> initialized as it thinks it was already started so it stays null forever. 
> This causes both the persistent and non-persistent cursors to create their 
> own audits which ends up duplicating objects when they should share the same 
> audit so we get duplicate detection across persistent and non persistent 
> messages and also so that we save memory by not duplicating the objects and 
> allowing audit depth config to control how large the audit is. 
> Something else I noticed is that the start/stop methods do not protect 
> against calling them more than once and they should to prevent duplicate 
> initialization so I also will fix that.
> I checked and durables are already correct with their audit tracking (the 
> audit is passed down to all of the sub prefetches and shared)



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to