This is an automated email from the ASF dual-hosted git repository.
jackietien pushed a commit to branch dev/1.1
in repository https://gitbox.apache.org/repos/asf/tsfile.git
The following commit(s) were added to refs/heads/dev/1.1 by this push:
new 538b4aa2 [To dev/1.1] Correct the memroy calculation of
BinaryColumnBuilder
538b4aa2 is described below
commit 538b4aa204185a135a89ce37ca22edb5d4df3a05
Author: Jackie Tien <[email protected]>
AuthorDate: Thu Jul 3 11:46:36 2025 +0800
[To dev/1.1] Correct the memroy calculation of BinaryColumnBuilder
---
.../org/apache/tsfile/read/common/block/column/BinaryColumn.java | 3 +++
.../tsfile/read/common/block/column/BinaryColumnBuilder.java | 8 ++++++++
2 files changed, 11 insertions(+)
diff --git
a/java/tsfile/src/main/java/org/apache/tsfile/read/common/block/column/BinaryColumn.java
b/java/tsfile/src/main/java/org/apache/tsfile/read/common/block/column/BinaryColumn.java
index ab244311..c51e4fd7 100644
---
a/java/tsfile/src/main/java/org/apache/tsfile/read/common/block/column/BinaryColumn.java
+++
b/java/tsfile/src/main/java/org/apache/tsfile/read/common/block/column/BinaryColumn.java
@@ -30,6 +30,7 @@ import java.util.Arrays;
import java.util.Optional;
import static
org.apache.tsfile.read.common.block.column.ColumnUtil.checkValidRegion;
+import static org.apache.tsfile.utils.RamUsageEstimator.NUM_BYTES_OBJECT_REF;
import static org.apache.tsfile.utils.RamUsageEstimator.sizeOf;
import static org.apache.tsfile.utils.RamUsageEstimator.sizeOfBooleanArray;
@@ -38,6 +39,8 @@ public class BinaryColumn implements Column {
private static final int INSTANCE_SIZE =
(int) RamUsageEstimator.shallowSizeOfInstance(BinaryColumn.class);
+ public static final int SHALLOW_SIZE_IN_BYTES_PER_POSITION =
NUM_BYTES_OBJECT_REF + Byte.BYTES;
+
private final int arrayOffset;
private final int positionCount;
private final boolean[] valueIsNull;
diff --git
a/java/tsfile/src/main/java/org/apache/tsfile/read/common/block/column/BinaryColumnBuilder.java
b/java/tsfile/src/main/java/org/apache/tsfile/read/common/block/column/BinaryColumnBuilder.java
index fa5d9cdf..20928cfd 100644
---
a/java/tsfile/src/main/java/org/apache/tsfile/read/common/block/column/BinaryColumnBuilder.java
+++
b/java/tsfile/src/main/java/org/apache/tsfile/read/common/block/column/BinaryColumnBuilder.java
@@ -72,6 +72,11 @@ public class BinaryColumnBuilder implements ColumnBuilder {
hasNonNullValue = true;
positionCount++;
+ if (columnBuilderStatus != null) {
+ columnBuilderStatus.addBytes(
+ BinaryColumn.SHALLOW_SIZE_IN_BYTES_PER_POSITION
+ + (value == null ? 0 : (int) value.ramBytesUsed()));
+ }
return this;
}
@@ -105,6 +110,9 @@ public class BinaryColumnBuilder implements ColumnBuilder {
hasNullValue = true;
positionCount++;
+ if (columnBuilderStatus != null) {
+
columnBuilderStatus.addBytes(BinaryColumn.SHALLOW_SIZE_IN_BYTES_PER_POSITION);
+ }
return this;
}