You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by jp...@apache.org on 2021/09/22 12:47:48 UTC
[lucene-solr] branch branch_8x updated: LUCENE-10116: Missing
calculating the bytes used of DocsWithFieldSet and currentValues in
SortedSetDocValuesWriter
This is an automated email from the ASF dual-hosted git repository.
jpountz pushed a commit to branch branch_8x
in repository https://gitbox.apache.org/repos/asf/lucene-solr.git
The following commit(s) were added to refs/heads/branch_8x by this push:
new cef2d3b LUCENE-10116: Missing calculating the bytes used of DocsWithFieldSet and currentValues in SortedSetDocValuesWriter
cef2d3b is described below
commit cef2d3b85a6ad11c41cf87d3caa1662f8a3bc96a
Author: Lu Xugang <xu...@eoitek.com>
AuthorDate: Wed Sep 22 17:05:29 2021 +0800
LUCENE-10116: Missing calculating the bytes used of DocsWithFieldSet and currentValues in SortedSetDocValuesWriter
---
lucene/CHANGES.txt | 3 +++
.../org/apache/lucene/index/SortedSetDocValuesWriter.java | 13 +++++++++++--
2 files changed, 14 insertions(+), 2 deletions(-)
diff --git a/lucene/CHANGES.txt b/lucene/CHANGES.txt
index 9eddd3f..d6efd18 100644
--- a/lucene/CHANGES.txt
+++ b/lucene/CHANGES.txt
@@ -32,6 +32,9 @@ Bug Fixes
* LUCENE-10111: Missing calculating the bytes used of DocsWithFieldSet in NormValuesWriter.
(Lu Xugang)
+* LUCENE-10116: Missing calculating the bytes used of DocsWithFieldSet and currentValues in SortedSetDocValuesWriter.
+ (Lu Xugang)
+
Build
---------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/SortedSetDocValuesWriter.java b/lucene/core/src/java/org/apache/lucene/index/SortedSetDocValuesWriter.java
index df12b97..e2759b3 100644
--- a/lucene/core/src/java/org/apache/lucene/index/SortedSetDocValuesWriter.java
+++ b/lucene/core/src/java/org/apache/lucene/index/SortedSetDocValuesWriter.java
@@ -27,6 +27,7 @@ import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.BytesRefHash;
import org.apache.lucene.util.BytesRefHash.DirectBytesStartArray;
import org.apache.lucene.util.Counter;
+import org.apache.lucene.util.RamUsageEstimator;
import org.apache.lucene.util.packed.PackedInts;
import org.apache.lucene.util.packed.PackedLongValues;
@@ -65,7 +66,11 @@ class SortedSetDocValuesWriter extends DocValuesWriter<SortedSetDocValues> {
pending = PackedLongValues.packedBuilder(PackedInts.COMPACT);
pendingCounts = PackedLongValues.deltaPackedBuilder(PackedInts.COMPACT);
docsWithField = new DocsWithFieldSet();
- bytesUsed = pending.ramBytesUsed() + pendingCounts.ramBytesUsed();
+ bytesUsed =
+ pending.ramBytesUsed()
+ + pendingCounts.ramBytesUsed()
+ + docsWithField.ramBytesUsed()
+ + RamUsageEstimator.sizeOf(currentValues);
iwBytesUsed.addAndGet(bytesUsed);
}
@@ -133,7 +138,11 @@ class SortedSetDocValuesWriter extends DocValuesWriter<SortedSetDocValues> {
}
private void updateBytesUsed() {
- final long newBytesUsed = pending.ramBytesUsed() + pendingCounts.ramBytesUsed();
+ final long newBytesUsed =
+ pending.ramBytesUsed()
+ + pendingCounts.ramBytesUsed()
+ + docsWithField.ramBytesUsed()
+ + RamUsageEstimator.sizeOf(currentValues);
iwBytesUsed.addAndGet(newBytesUsed - bytesUsed);
bytesUsed = newBytesUsed;
}