Christopher L. Shannon created AMQ-9726: -------------------------------------------
Summary: Fix FilePendingMessageCursor clear() method Key: AMQ-9726 URL: https://issues.apache.org/jira/browse/AMQ-9726 Project: ActiveMQ Classic Issue Type: Bug Affects Versions: 6.1.6, 5.19.0 Reporter: Christopher L. Shannon Assignee: Christopher L. Shannon Fix For: 6.2.0, 5.19.1, 6.1.7 The clear() method inside of FilePendingMessageCursor is supposed to clear any messages in memory, as well as clear any messages in the disk pending list by destroying it so it can be reset. There are two bugs in this method: # Clearing the memory list does not iterate and decrement each reference so the memory usage tracker is not decremented on clear. # When clearing the disk list, the wrong destroy method is used so while the list is correctly destroyed and marked as unloaded, the reference is not nulled out. This means that any future writes to the cursor will throw an exception because the cursor is not loaded. The correct helper method will reset this so that future writes will create a list that is correctly initialized. The bugs here are not showing up with normal usage because the clear() method is generally only called when destroying a durable (and there is already code to remove the references before calling clear so memory is decremented) however because this method is public and could be easily called in the future it should be fixed so it works correctly. -- This message was sent by Atlassian Jira (v8.20.10#820010) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@activemq.apache.org For additional commands, e-mail: issues-h...@activemq.apache.org For further information, visit: https://activemq.apache.org/contact