This is an automated email from the ASF dual-hosted git repository.
jackietien pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/tsfile.git
The following commit(s) were added to refs/heads/develop by this push:
new 6554a187 Correct the memroy calculation of BinaryColumnBuilder
6554a187 is described below
commit 6554a187715d20792a65a0436267623632bdb458
Author: Jackie Tien <[email protected]>
AuthorDate: Thu Jul 3 11:46:12 2025 +0800
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 ecc1b66e..88e27585 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
@@ -32,6 +32,7 @@ import java.util.Optional;
import static
org.apache.tsfile.read.common.block.column.ColumnUtil.checkArrayRange;
import static
org.apache.tsfile.read.common.block.column.ColumnUtil.checkReadablePosition;
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;
@@ -40,6 +41,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 int positionCount;
private 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 d9c560dc..be952eaa 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
@@ -77,6 +77,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;
}
@@ -110,6 +115,9 @@ public class BinaryColumnBuilder implements ColumnBuilder {
hasNullValue = true;
positionCount++;
+ if (columnBuilderStatus != null) {
+
columnBuilderStatus.addBytes(BinaryColumn.SHALLOW_SIZE_IN_BYTES_PER_POSITION);
+ }
return this;
}