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 f7d0a6cd Add maxTsBlockLineNumber variable in TsBlockBuilder
f7d0a6cd is described below
commit f7d0a6cd88819a972f51bfdbad44d95755446add
Author: Beyyes <[email protected]>
AuthorDate: Thu Feb 1 10:05:57 2024 +0800
Add maxTsBlockLineNumber variable in TsBlockBuilder
---
.../apache/tsfile/read/common/block/TsBlockBuilder.java | 17 +++++++++++++----
.../org/apache/tsfile/common/block/TsBlockTest.java | 1 +
2 files changed, 14 insertions(+), 4 deletions(-)
diff --git
a/tsfile/src/main/java/org/apache/tsfile/read/common/block/TsBlockBuilder.java
b/tsfile/src/main/java/org/apache/tsfile/read/common/block/TsBlockBuilder.java
index b2ba141d..872372b7 100644
---
a/tsfile/src/main/java/org/apache/tsfile/read/common/block/TsBlockBuilder.java
+++
b/tsfile/src/main/java/org/apache/tsfile/read/common/block/TsBlockBuilder.java
@@ -49,9 +49,6 @@ public class TsBlockBuilder {
// This could be any other small number.
private static final int DEFAULT_INITIAL_EXPECTED_ENTRIES = 8;
- public static final int MAX_LINE_NUMBER =
- TSFileDescriptor.getInstance().getConfig().getMaxTsBlockLineNumber();
-
private static final int DEFAULT_MAX_TSBLOCK_SIZE_IN_BYTES =
TSFileDescriptor.getInstance().getConfig().getMaxTsBlockSizeInBytes();
@@ -60,6 +57,8 @@ public class TsBlockBuilder {
private List<TSDataType> types;
private TsBlockBuilderStatus tsBlockBuilderStatus;
private int declaredPositions;
+ private int maxTsBlockLineNumber =
+ TSFileDescriptor.getInstance().getConfig().getMaxTsBlockLineNumber();
private TsBlockBuilder() {}
@@ -266,7 +265,7 @@ public class TsBlockBuilder {
}
public boolean isFull() {
- return declaredPositions >= MAX_LINE_NUMBER ||
tsBlockBuilderStatus.isFull();
+ return declaredPositions >= maxTsBlockLineNumber ||
tsBlockBuilderStatus.isFull();
}
public boolean isEmpty() {
@@ -277,6 +276,16 @@ public class TsBlockBuilder {
return declaredPositions;
}
+ public int getMaxTsBlockLineNumber() {
+ return this.maxTsBlockLineNumber;
+ }
+
+ public void setMaxTsBlockLineNumber(int maxTsBlockLineNumber) {
+ if (maxTsBlockLineNumber > 0) {
+ this.maxTsBlockLineNumber = maxTsBlockLineNumber;
+ }
+ }
+
public long getSizeInBytes() {
return tsBlockBuilderStatus.getSizeInBytes();
}
diff --git
a/tsfile/src/test/java/org/apache/tsfile/common/block/TsBlockTest.java
b/tsfile/src/test/java/org/apache/tsfile/common/block/TsBlockTest.java
index 25755390..47db6562 100644
--- a/tsfile/src/test/java/org/apache/tsfile/common/block/TsBlockTest.java
+++ b/tsfile/src/test/java/org/apache/tsfile/common/block/TsBlockTest.java
@@ -74,6 +74,7 @@ public class TsBlockTest {
long[] timeArray = {1L, 2L, 3L, 4L, 5L};
int[] valueArray = {10, 20, 30, 40, 50};
TsBlockBuilder builder = new
TsBlockBuilder(Collections.singletonList(TSDataType.INT32));
+ builder.setMaxTsBlockLineNumber(2);
for (int i = 0; i < timeArray.length; i++) {
builder.getTimeColumnBuilder().writeLong(timeArray[i]);
builder.getColumnBuilder(0).writeInt(valueArray[i]);