This is an automated email from the ASF dual-hosted git repository.
jackietien pushed a commit to branch QueryPerformace
in repository https://gitbox.apache.org/repos/asf/iotdb.git
The following commit(s) were added to refs/heads/QueryPerformace by this push:
new a67982a11d Extreme performace
a67982a11d is described below
commit a67982a11d95a05ea0dad91580e9e776d1dc4152
Author: JackieTien97 <[email protected]>
AuthorDate: Wed Jun 22 21:37:43 2022 +0800
Extreme performace
---
.../execution/datatransfer/LocalSinkHandle.java | 2 +-
.../execution/datatransfer/LocalSourceHandle.java | 24 ++++-----
.../operator/process/AggregationOperator.java | 2 +-
.../process/RawDataAggregationOperator.java | 2 +-
.../process/SlidingWindowAggregationOperator.java | 2 +-
.../AlignedSeriesAggregationScanOperator.java | 2 +-
.../source/SeriesAggregationScanOperator.java | 2 +-
.../tsfile/read/common/block/TsBlockBuilder.java | 62 +++++++++++-----------
.../read/common/block/column/BinaryColumn.java | 3 +-
.../common/block/column/BinaryColumnBuilder.java | 5 +-
.../read/common/block/column/BooleanColumn.java | 4 +-
.../common/block/column/BooleanColumnBuilder.java | 4 +-
.../read/common/block/column/DoubleColumn.java | 3 +-
.../common/block/column/DoubleColumnBuilder.java | 4 +-
.../read/common/block/column/FloatColumn.java | 3 +-
.../common/block/column/FloatColumnBuilder.java | 4 +-
.../tsfile/read/common/block/column/IntColumn.java | 4 +-
.../read/common/block/column/IntColumnBuilder.java | 4 +-
.../read/common/block/column/LongColumn.java | 3 +-
.../common/block/column/LongColumnBuilder.java | 4 +-
.../read/common/block/column/TimeColumn.java | 4 +-
.../common/block/column/TimeColumnBuilder.java | 4 +-
22 files changed, 68 insertions(+), 83 deletions(-)
diff --git
a/server/src/main/java/org/apache/iotdb/db/mpp/execution/datatransfer/LocalSinkHandle.java
b/server/src/main/java/org/apache/iotdb/db/mpp/execution/datatransfer/LocalSinkHandle.java
index 40b5760b82..a9ef21dfe2 100644
---
a/server/src/main/java/org/apache/iotdb/db/mpp/execution/datatransfer/LocalSinkHandle.java
+++
b/server/src/main/java/org/apache/iotdb/db/mpp/execution/datatransfer/LocalSinkHandle.java
@@ -116,7 +116,7 @@ public class LocalSinkHandle implements ISinkHandle {
if (queue.hasNoMoreTsBlocks()) {
return;
}
- logger.info("send TsBlocks. Size: {}", tsBlocks.size());
+ // logger.info("send TsBlocks. Size: {}", tsBlocks.size());
synchronized (this) {
for (TsBlock tsBlock : tsBlocks) {
blocked = queue.add(tsBlock);
diff --git
a/server/src/main/java/org/apache/iotdb/db/mpp/execution/datatransfer/LocalSourceHandle.java
b/server/src/main/java/org/apache/iotdb/db/mpp/execution/datatransfer/LocalSourceHandle.java
index 205604b806..f8fe2b62a0 100644
---
a/server/src/main/java/org/apache/iotdb/db/mpp/execution/datatransfer/LocalSourceHandle.java
+++
b/server/src/main/java/org/apache/iotdb/db/mpp/execution/datatransfer/LocalSourceHandle.java
@@ -78,20 +78,18 @@ public class LocalSourceHandle implements ISourceHandle {
@Override
public TsBlock receive() {
- try (SetThreadName sourceHandleName = new SetThreadName(threadName)) {
- if (aborted) {
- throw new IllegalStateException("Source handle is aborted.");
- }
- if (!queue.isBlocked().isDone()) {
- throw new IllegalStateException("Source handle is blocked.");
- }
- TsBlock tsBlock;
- synchronized (queue) {
- tsBlock = queue.remove();
- }
- checkAndInvokeOnFinished();
- return tsBlock;
+ if (aborted) {
+ throw new IllegalStateException("Source handle is aborted.");
+ }
+ if (!queue.isBlocked().isDone()) {
+ throw new IllegalStateException("Source handle is blocked.");
+ }
+ TsBlock tsBlock;
+ synchronized (queue) {
+ tsBlock = queue.remove();
}
+ checkAndInvokeOnFinished();
+ return tsBlock;
}
@Override
diff --git
a/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/process/AggregationOperator.java
b/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/process/AggregationOperator.java
index 4dd1d9c411..f062fb9e07 100644
---
a/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/process/AggregationOperator.java
+++
b/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/process/AggregationOperator.java
@@ -74,7 +74,7 @@ public class AggregationOperator implements ProcessOperator {
for (Aggregator aggregator : aggregators) {
dataTypes.addAll(Arrays.asList(aggregator.getOutputType()));
}
- tsBlockBuilder = new TsBlockBuilder(dataTypes);
+ tsBlockBuilder = new TsBlockBuilder(1, dataTypes);
this.timeRangeIterator =
initTimeRangeIterator(groupByTimeParameter, ascending,
outputPartialTimeWindow);
}
diff --git
a/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/process/RawDataAggregationOperator.java
b/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/process/RawDataAggregationOperator.java
index fc15c496f5..a6ddffc1c9 100644
---
a/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/process/RawDataAggregationOperator.java
+++
b/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/process/RawDataAggregationOperator.java
@@ -79,7 +79,7 @@ public class RawDataAggregationOperator implements
ProcessOperator {
for (Aggregator aggregator : aggregators) {
dataTypes.addAll(Arrays.asList(aggregator.getOutputType()));
}
- tsBlockBuilder = new TsBlockBuilder(dataTypes);
+ tsBlockBuilder = new TsBlockBuilder(1, dataTypes);
this.timeRangeIterator = initTimeRangeIterator(groupByTimeParameter,
ascending, true);
}
diff --git
a/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/process/SlidingWindowAggregationOperator.java
b/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/process/SlidingWindowAggregationOperator.java
index f7ed25a7fc..1d77cbdfc6 100644
---
a/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/process/SlidingWindowAggregationOperator.java
+++
b/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/process/SlidingWindowAggregationOperator.java
@@ -76,7 +76,7 @@ public class SlidingWindowAggregationOperator implements
ProcessOperator {
for (Aggregator aggregator : aggregators) {
outputDataTypes.addAll(Arrays.asList(aggregator.getOutputType()));
}
- this.tsBlockBuilder = new TsBlockBuilder(outputDataTypes);
+ this.tsBlockBuilder = new TsBlockBuilder(1, outputDataTypes);
this.timeRangeIterator = initTimeRangeIterator(groupByTimeParameter,
ascending, false);
this.ascending = ascending;
}
diff --git
a/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/source/AlignedSeriesAggregationScanOperator.java
b/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/source/AlignedSeriesAggregationScanOperator.java
index 37f4f8ddfa..bbda016487 100644
---
a/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/source/AlignedSeriesAggregationScanOperator.java
+++
b/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/source/AlignedSeriesAggregationScanOperator.java
@@ -93,7 +93,7 @@ public class AlignedSeriesAggregationScanOperator implements
DataSourceOperator
for (Aggregator aggregator : aggregators) {
dataTypes.addAll(Arrays.asList(aggregator.getOutputType()));
}
- tsBlockBuilder = new TsBlockBuilder(dataTypes);
+ tsBlockBuilder = new TsBlockBuilder(1, dataTypes);
this.timeRangeIterator = initTimeRangeIterator(groupByTimeParameter,
ascending, true);
}
diff --git
a/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/source/SeriesAggregationScanOperator.java
b/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/source/SeriesAggregationScanOperator.java
index f9763b5533..35cf1390b6 100644
---
a/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/source/SeriesAggregationScanOperator.java
+++
b/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/source/SeriesAggregationScanOperator.java
@@ -100,7 +100,7 @@ public class SeriesAggregationScanOperator implements
DataSourceOperator {
for (Aggregator aggregator : aggregators) {
dataTypes.addAll(Arrays.asList(aggregator.getOutputType()));
}
- tsBlockBuilder = new TsBlockBuilder(dataTypes);
+ tsBlockBuilder = new TsBlockBuilder(1, dataTypes);
this.timeRangeIterator = initTimeRangeIterator(groupByTimeParameter,
ascending, true);
}
diff --git
a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/TsBlockBuilder.java
b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/TsBlockBuilder.java
index b88614fca3..d3684b056c 100644
---
a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/TsBlockBuilder.java
+++
b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/TsBlockBuilder.java
@@ -118,29 +118,29 @@ public class TsBlockBuilder {
}
}
- private TsBlockBuilder(
- int maxTsBlockBytes,
- List<TSDataType> types,
- TimeColumnBuilder templateTimeColumnBuilder,
- ColumnBuilder[] templateValueColumnBuilders) {
- this.types = requireNonNull(types, "types is null");
-
- tsBlockBuilderStatus = new TsBlockBuilderStatus(maxTsBlockBytes);
- valueColumnBuilders = new ColumnBuilder[types.size()];
-
- checkArgument(
- templateValueColumnBuilders.length == types.size(),
- "Size of templates and types should match");
- timeColumnBuilder =
- (TimeColumnBuilder)
- templateTimeColumnBuilder.newColumnBuilderLike(
- tsBlockBuilderStatus.createColumnBuilderStatus());
- for (int i = 0; i < valueColumnBuilders.length; i++) {
- valueColumnBuilders[i] =
- templateValueColumnBuilders[i].newColumnBuilderLike(
- tsBlockBuilderStatus.createColumnBuilderStatus());
- }
- }
+ // private TsBlockBuilder(
+ // int maxTsBlockBytes,
+ // List<TSDataType> types,
+ // TimeColumnBuilder templateTimeColumnBuilder,
+ // ColumnBuilder[] templateValueColumnBuilders) {
+ // this.types = requireNonNull(types, "types is null");
+ //
+ // tsBlockBuilderStatus = new TsBlockBuilderStatus(maxTsBlockBytes);
+ // valueColumnBuilders = new ColumnBuilder[types.size()];
+ //
+ // checkArgument(
+ // templateValueColumnBuilders.length == types.size(),
+ // "Size of templates and types should match");
+ // timeColumnBuilder =
+ // (TimeColumnBuilder)
+ // templateTimeColumnBuilder.newColumnBuilderLike(
+ // tsBlockBuilderStatus.createColumnBuilderStatus());
+ // for (int i = 0; i < valueColumnBuilders.length; i++) {
+ // valueColumnBuilders[i] =
+ // templateValueColumnBuilders[i].newColumnBuilderLike(
+ // tsBlockBuilderStatus.createColumnBuilderStatus());
+ // }
+ // }
public void buildValueColumnBuilders(List<TSDataType> types) {
this.types = requireNonNull(types, "types is null");
@@ -190,8 +190,6 @@ public class TsBlockBuilder {
if (isEmpty()) {
return;
}
- tsBlockBuilderStatus =
- new
TsBlockBuilderStatus(tsBlockBuilderStatus.getMaxTsBlockSizeInBytes());
declaredPositions = 0;
@@ -201,13 +199,13 @@ public class TsBlockBuilder {
}
}
- public TsBlockBuilder newTsBlockBuilderLike() {
- return new TsBlockBuilder(
- tsBlockBuilderStatus.getMaxTsBlockSizeInBytes(),
- types,
- timeColumnBuilder,
- valueColumnBuilders);
- }
+ // public TsBlockBuilder newTsBlockBuilderLike() {
+ // return new TsBlockBuilder(
+ // tsBlockBuilderStatus.getMaxTsBlockSizeInBytes(),
+ // types,
+ // timeColumnBuilder,
+ // valueColumnBuilders);
+ // }
public TimeColumnBuilder getTimeColumnBuilder() {
return timeColumnBuilder;
diff --git
a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/BinaryColumn.java
b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/BinaryColumn.java
index 3d81b062f2..2418044bca 100644
---
a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/BinaryColumn.java
+++
b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/BinaryColumn.java
@@ -26,7 +26,6 @@ import org.openjdk.jol.info.ClassLayout;
import java.util.Optional;
-import static io.airlift.slice.SizeOf.sizeOf;
import static
org.apache.iotdb.tsfile.read.common.block.column.ColumnUtil.checkValidRegion;
public class BinaryColumn implements Column {
@@ -66,7 +65,7 @@ public class BinaryColumn implements Column {
this.valueIsNull = valueIsNull;
// TODO we need to sum up all the Binary's retainedSize here
- retainedSizeInBytes = INSTANCE_SIZE + sizeOf(valueIsNull) + sizeOf(values);
+ retainedSizeInBytes = INSTANCE_SIZE;
}
@Override
diff --git
a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/BinaryColumnBuilder.java
b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/BinaryColumnBuilder.java
index ad1e05ac61..9ffcf50fb8 100644
---
a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/BinaryColumnBuilder.java
+++
b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/BinaryColumnBuilder.java
@@ -29,7 +29,6 @@ import java.util.Arrays;
import static io.airlift.slice.SizeOf.sizeOf;
import static java.lang.Math.max;
-import static
org.apache.iotdb.tsfile.read.common.block.column.ColumnUtil.calculateBlockResetSize;
public class BinaryColumnBuilder implements ColumnBuilder {
@@ -130,8 +129,8 @@ public class BinaryColumnBuilder implements ColumnBuilder {
@Override
public ColumnBuilder newColumnBuilderLike(ColumnBuilderStatus
columnBuilderStatus) {
- // TODO we should take retain size into account here
- return new BinaryColumnBuilder(columnBuilderStatus,
calculateBlockResetSize(positionCount));
+ positionCount = 0;
+ return this;
}
private void growCapacity() {
diff --git
a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/BooleanColumn.java
b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/BooleanColumn.java
index 8397010c6d..d4d4b435aa 100644
---
a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/BooleanColumn.java
+++
b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/BooleanColumn.java
@@ -25,8 +25,6 @@ import org.openjdk.jol.info.ClassLayout;
import java.util.Optional;
-import static io.airlift.slice.SizeOf.sizeOf;
-
public class BooleanColumn implements Column {
private static final int INSTANCE_SIZE =
@@ -64,7 +62,7 @@ public class BooleanColumn implements Column {
}
this.valueIsNull = valueIsNull;
- retainedSizeInBytes = (INSTANCE_SIZE + sizeOf(valueIsNull) +
sizeOf(values));
+ retainedSizeInBytes = INSTANCE_SIZE;
}
@Override
diff --git
a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/BooleanColumnBuilder.java
b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/BooleanColumnBuilder.java
index ba40884023..964249ece8 100644
---
a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/BooleanColumnBuilder.java
+++
b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/BooleanColumnBuilder.java
@@ -28,7 +28,6 @@ import java.util.Arrays;
import static io.airlift.slice.SizeOf.sizeOf;
import static java.lang.Math.max;
-import static
org.apache.iotdb.tsfile.read.common.block.column.ColumnUtil.calculateBlockResetSize;
public class BooleanColumnBuilder implements ColumnBuilder {
@@ -130,7 +129,8 @@ public class BooleanColumnBuilder implements ColumnBuilder {
@Override
public ColumnBuilder newColumnBuilderLike(ColumnBuilderStatus
columnBuilderStatus) {
- return new BooleanColumnBuilder(columnBuilderStatus,
calculateBlockResetSize(positionCount));
+ positionCount = 0;
+ return this;
}
private void growCapacity() {
diff --git
a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/DoubleColumn.java
b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/DoubleColumn.java
index 13c07fad97..ee7c2af501 100644
---
a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/DoubleColumn.java
+++
b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/DoubleColumn.java
@@ -25,7 +25,6 @@ import org.openjdk.jol.info.ClassLayout;
import java.util.Optional;
-import static io.airlift.slice.SizeOf.sizeOf;
import static
org.apache.iotdb.tsfile.read.common.block.column.ColumnUtil.checkValidRegion;
public class DoubleColumn implements Column {
@@ -65,7 +64,7 @@ public class DoubleColumn implements Column {
}
this.valueIsNull = valueIsNull;
- retainedSizeInBytes = (INSTANCE_SIZE + sizeOf(valueIsNull) +
sizeOf(values));
+ retainedSizeInBytes = INSTANCE_SIZE;
}
@Override
diff --git
a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/DoubleColumnBuilder.java
b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/DoubleColumnBuilder.java
index 78f9faa068..0fc65dc784 100644
---
a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/DoubleColumnBuilder.java
+++
b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/DoubleColumnBuilder.java
@@ -28,7 +28,6 @@ import java.util.Arrays;
import static io.airlift.slice.SizeOf.sizeOf;
import static java.lang.Math.max;
-import static
org.apache.iotdb.tsfile.read.common.block.column.ColumnUtil.calculateBlockResetSize;
public class DoubleColumnBuilder implements ColumnBuilder {
@@ -130,7 +129,8 @@ public class DoubleColumnBuilder implements ColumnBuilder {
@Override
public ColumnBuilder newColumnBuilderLike(ColumnBuilderStatus
columnBuilderStatus) {
- return new DoubleColumnBuilder(columnBuilderStatus,
calculateBlockResetSize(positionCount));
+ positionCount = 0;
+ return this;
}
private void growCapacity() {
diff --git
a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/FloatColumn.java
b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/FloatColumn.java
index 7c81c60dce..15fb84ab66 100644
---
a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/FloatColumn.java
+++
b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/FloatColumn.java
@@ -25,7 +25,6 @@ import org.openjdk.jol.info.ClassLayout;
import java.util.Optional;
-import static io.airlift.slice.SizeOf.sizeOf;
import static
org.apache.iotdb.tsfile.read.common.block.column.ColumnUtil.checkValidRegion;
public class FloatColumn implements Column {
@@ -64,7 +63,7 @@ public class FloatColumn implements Column {
}
this.valueIsNull = valueIsNull;
- retainedSizeInBytes = (INSTANCE_SIZE + sizeOf(valueIsNull) +
sizeOf(values));
+ retainedSizeInBytes = INSTANCE_SIZE;
}
@Override
diff --git
a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/FloatColumnBuilder.java
b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/FloatColumnBuilder.java
index c5f97b77fc..eb9d96cf8f 100644
---
a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/FloatColumnBuilder.java
+++
b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/FloatColumnBuilder.java
@@ -28,7 +28,6 @@ import java.util.Arrays;
import static io.airlift.slice.SizeOf.sizeOf;
import static java.lang.Math.max;
-import static
org.apache.iotdb.tsfile.read.common.block.column.ColumnUtil.calculateBlockResetSize;
public class FloatColumnBuilder implements ColumnBuilder {
@@ -130,7 +129,8 @@ public class FloatColumnBuilder implements ColumnBuilder {
@Override
public ColumnBuilder newColumnBuilderLike(ColumnBuilderStatus
columnBuilderStatus) {
- return new FloatColumnBuilder(columnBuilderStatus,
calculateBlockResetSize(positionCount));
+ positionCount = 0;
+ return this;
}
private void growCapacity() {
diff --git
a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/IntColumn.java
b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/IntColumn.java
index a0982b4c16..26d54cb231 100644
---
a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/IntColumn.java
+++
b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/IntColumn.java
@@ -25,8 +25,6 @@ import org.openjdk.jol.info.ClassLayout;
import java.util.Optional;
-import static io.airlift.slice.SizeOf.sizeOf;
-
public class IntColumn implements Column {
private static final int INSTANCE_SIZE =
ClassLayout.parseClass(IntColumn.class).instanceSize();
@@ -63,7 +61,7 @@ public class IntColumn implements Column {
}
this.valueIsNull = valueIsNull;
- retainedSizeInBytes = INSTANCE_SIZE + sizeOf(valueIsNull) + sizeOf(values);
+ retainedSizeInBytes = INSTANCE_SIZE;
}
@Override
diff --git
a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/IntColumnBuilder.java
b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/IntColumnBuilder.java
index 00e6863cea..dc15c032eb 100644
---
a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/IntColumnBuilder.java
+++
b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/IntColumnBuilder.java
@@ -28,7 +28,6 @@ import java.util.Arrays;
import static io.airlift.slice.SizeOf.sizeOf;
import static java.lang.Math.max;
-import static
org.apache.iotdb.tsfile.read.common.block.column.ColumnUtil.calculateBlockResetSize;
public class IntColumnBuilder implements ColumnBuilder {
@@ -130,7 +129,8 @@ public class IntColumnBuilder implements ColumnBuilder {
@Override
public ColumnBuilder newColumnBuilderLike(ColumnBuilderStatus
columnBuilderStatus) {
- return new IntColumnBuilder(columnBuilderStatus,
calculateBlockResetSize(positionCount));
+ positionCount = 0;
+ return this;
}
private void growCapacity() {
diff --git
a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/LongColumn.java
b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/LongColumn.java
index 59c04cb4ed..91df86b9a0 100644
---
a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/LongColumn.java
+++
b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/LongColumn.java
@@ -25,7 +25,6 @@ import org.openjdk.jol.info.ClassLayout;
import java.util.Optional;
-import static io.airlift.slice.SizeOf.sizeOf;
import static
org.apache.iotdb.tsfile.read.common.block.column.ColumnUtil.checkValidRegion;
public class LongColumn implements Column {
@@ -64,7 +63,7 @@ public class LongColumn implements Column {
}
this.valueIsNull = valueIsNull;
- retainedSizeInBytes = INSTANCE_SIZE + sizeOf(valueIsNull) + sizeOf(values);
+ retainedSizeInBytes = INSTANCE_SIZE;
}
@Override
diff --git
a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/LongColumnBuilder.java
b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/LongColumnBuilder.java
index 5f0037f688..fa6932ae17 100644
---
a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/LongColumnBuilder.java
+++
b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/LongColumnBuilder.java
@@ -28,7 +28,6 @@ import java.util.Arrays;
import static io.airlift.slice.SizeOf.sizeOf;
import static java.lang.Math.max;
-import static
org.apache.iotdb.tsfile.read.common.block.column.ColumnUtil.calculateBlockResetSize;
public class LongColumnBuilder implements ColumnBuilder {
@@ -130,7 +129,8 @@ public class LongColumnBuilder implements ColumnBuilder {
@Override
public ColumnBuilder newColumnBuilderLike(ColumnBuilderStatus
columnBuilderStatus) {
- return new LongColumnBuilder(columnBuilderStatus,
calculateBlockResetSize(positionCount));
+ positionCount = 0;
+ return this;
}
private void growCapacity() {
diff --git
a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/TimeColumn.java
b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/TimeColumn.java
index 89ee38a156..078e3917f3 100644
---
a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/TimeColumn.java
+++
b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/TimeColumn.java
@@ -22,8 +22,6 @@ import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
import org.openjdk.jol.info.ClassLayout;
-import static io.airlift.slice.SizeOf.sizeOf;
-
public class TimeColumn implements Column {
private static final int INSTANCE_SIZE =
ClassLayout.parseClass(LongColumn.class).instanceSize();
@@ -54,7 +52,7 @@ public class TimeColumn implements Column {
}
this.values = values;
- retainedSizeInBytes = INSTANCE_SIZE + sizeOf(values);
+ retainedSizeInBytes = INSTANCE_SIZE;
}
@Override
diff --git
a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/TimeColumnBuilder.java
b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/TimeColumnBuilder.java
index 59157916be..9ce3198e36 100644
---
a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/TimeColumnBuilder.java
+++
b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/TimeColumnBuilder.java
@@ -27,7 +27,6 @@ import java.util.Arrays;
import static io.airlift.slice.SizeOf.sizeOf;
import static java.lang.Math.max;
-import static
org.apache.iotdb.tsfile.read.common.block.column.ColumnUtil.calculateBlockResetSize;
public class TimeColumnBuilder implements ColumnBuilder {
@@ -108,7 +107,8 @@ public class TimeColumnBuilder implements ColumnBuilder {
@Override
public ColumnBuilder newColumnBuilderLike(ColumnBuilderStatus
columnBuilderStatus) {
- return new TimeColumnBuilder(columnBuilderStatus,
calculateBlockResetSize(positionCount));
+ positionCount = 0;
+ return this;
}
public int getPositionCount() {