diff --git a/lucene/CHANGES.txt b/lucene/CHANGES.txt index eeae8f559f4b..557af2f034ff 100644 --- a/lucene/CHANGES.txt +++ b/lucene/CHANGES.txt @@ -184,6 +184,8 @@ Bug Fixes * GITHUB#15939: Fix thread-safety issues with NFARunAutomaton. (Dimitris Rempapis) +* GITHUB#16046: Fix double-counting of underlying Automaton in CompiledAutomaton#ramBytesUsed. (Eugene Rizhkov) + Changes in Runtime Behavior --------------------- * GITHUB#14187: The query cache is now disabled by default. (Adrien Grand) diff --git a/lucene/core/src/java/org/apache/lucene/util/automaton/CompiledAutomaton.java b/lucene/core/src/java/org/apache/lucene/util/automaton/CompiledAutomaton.java index f414b90b3e40..5ded854f129b 100644 --- a/lucene/core/src/java/org/apache/lucene/util/automaton/CompiledAutomaton.java +++ b/lucene/core/src/java/org/apache/lucene/util/automaton/CompiledAutomaton.java @@ -535,8 +535,8 @@ public boolean equals(Object obj) { @Override public long ramBytesUsed() { + // this.automaton is accounted via runAutomaton.ramBytesUsed() return BASE_RAM_BYTES - + RamUsageEstimator.sizeOfObject(automaton) + RamUsageEstimator.sizeOfObject(commonSuffixRef) + RamUsageEstimator.sizeOfObject(runAutomaton) + RamUsageEstimator.sizeOfObject(nfaRunAutomaton)