Christopher L. Shannon created AMQ-9823:
-------------------------------------------
Summary: KahaDB ackAndPreparedMap is not properly cleared when
recovered acks are removed
Key: AMQ-9823
URL: https://issues.apache.org/jira/browse/AMQ-9823
Project: ActiveMQ
Issue Type: Bug
Components: Broker, KahaDB
Affects Versions: 6.1.8, 5.19.1, 6.2.0
Reporter: Christopher L. Shannon
Assignee: Christopher L. Shannon
Fix For: 6.3.0, 5.19.2, 6.2.1
Kahadb tracks prepared acks for an XA transaction to be recovered inside of the
[ackedAndPreparedMap|https://github.com/apache/activemq/blob/7aa5bad9e3055f65b15f047ceb9f4f24327f5309/activemq-kahadb-store/src/main/java/org/apache/activemq/store/kahadb/KahaDBStore.java#L416].
The map contains the set of prepared acks that were recovered. After
commit/rollback the acks are supposed to be
"[forgotten|https://github.com/apache/activemq/blob/7aa5bad9e3055f65b15f047ceb9f4f24327f5309/activemq-kahadb-store/src/main/java/org/apache/activemq/store/kahadb/KahaDBStore.java#L458]"
and removed from the map.
They method correctly clears from the set but there is a bug where an empty set
is left in the map because the map is
[checked|https://github.com/apache/activemq/blob/7aa5bad9e3055f65b15f047ceb9f4f24327f5309/activemq-kahadb-store/src/main/java/org/apache/activemq/store/kahadb/KahaDBStore.java#L468]
to see if it is empty vs checking the set so the set never gets removed so
this could in theory have a small memory leak. In practice it's probably not
much of an issue but worth fixing as it's one line.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
For further information, visit: https://activemq.apache.org/contact