From 2d1451fd0cfd9c6ca6aa924001b57a5b7ad0363c Mon Sep 17 00:00:00 2001 From: Ivan Bella Date: Tue, 9 Jul 2024 10:43:12 +0000 Subject: [PATCH] Updated the rewritable set impl to remove the original key to avoid holding onto extra values (#2462) --- .../datawave/query/util/sortedset/RewritableSortedSetImpl.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/warehouse/query-core/src/main/java/datawave/query/util/sortedset/RewritableSortedSetImpl.java b/warehouse/query-core/src/main/java/datawave/query/util/sortedset/RewritableSortedSetImpl.java index 0b71f9d43ca..44db1f4cf4b 100644 --- a/warehouse/query-core/src/main/java/datawave/query/util/sortedset/RewritableSortedSetImpl.java +++ b/warehouse/query-core/src/main/java/datawave/query/util/sortedset/RewritableSortedSetImpl.java @@ -156,6 +156,8 @@ private boolean addResolvingCollisions(E e) { // return true if this is a new element to the set if (set.containsKey(e)) { if ((rewriteStrategy != null) && rewriteStrategy.rewrite(set.get(e), e)) { + // let's remove to original key first to avoid holding on to extra values + set.remove(e); set.put(e, e); return true; }