Christopher L. Shannon created AMQ-9436: -------------------------------------------
Summary: 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: 6.0.1, 5.18.3 Reporter: Christopher L. Shannon Assignee: Christopher L. Shannon Fix For: 6.1.0, 5.18.4, 6.0.2 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)