This is an automated email from the ASF dual-hosted git repository.
jiangtian 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 d30d283a Add IMeasurementSchema list conversion methods (#303)
d30d283a is described below
commit d30d283a63745ab637ac0f1cc87b28fa6e90721b
Author: shuwenwei <[email protected]>
AuthorDate: Tue Nov 19 12:52:15 2024 +0800
Add IMeasurementSchema list conversion methods (#303)
* add IMeasurementSchema list conversion methods
* modify usage
* modify TsFileWriter
* modify exception
* copy schema in Tablet constructor
* make Tablet.rowSize access to private
---
.../java/org/apache/tsfile/tools/TsFileTool.java | 11 +++-----
.../apache/tsfile/utils/TsFileGeneratorUtils.java | 8 +++---
.../java/org/apache/tsfile/utils/WriteUtils.java | 4 +--
.../java/org/apache/tsfile/write/TsFileWriter.java | 20 +++++++++-----
.../write/chunk/AlignedChunkGroupWriterImpl.java | 2 +-
.../chunk/NonAlignedChunkGroupWriterImpl.java | 2 +-
.../org/apache/tsfile/write/record/Tablet.java | 16 ++++++++---
.../tsfile/write/schema/IMeasurementSchema.java | 11 ++++++++
.../org/apache/tsfile/read/TsFileReaderTest.java | 11 +++-----
.../apache/tsfile/tableview/PerformanceTest.java | 12 ++++-----
.../org/apache/tsfile/tableview/TableViewTest.java | 22 +++++----------
.../tsfile/write/DefaultSchemaTemplateTest.java | 9 ++++---
.../tsfile/write/MetadataIndexConstructorTest.java | 8 +++---
.../apache/tsfile/write/TsFileWriteApiTest.java | 31 +++++++++++-----------
.../org/apache/tsfile/write/TsFileWriterTest.java | 4 +--
.../org/apache/tsfile/write/record/TabletTest.java | 10 +++----
16 files changed, 94 insertions(+), 87 deletions(-)
diff --git a/java/tools/src/main/java/org/apache/tsfile/tools/TsFileTool.java
b/java/tools/src/main/java/org/apache/tsfile/tools/TsFileTool.java
index c9116eae..4366cee9 100644
--- a/java/tools/src/main/java/org/apache/tsfile/tools/TsFileTool.java
+++ b/java/tools/src/main/java/org/apache/tsfile/tools/TsFileTool.java
@@ -58,7 +58,6 @@ import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicInteger;
-import java.util.stream.Collectors;
public class TsFileTool {
private static int THREAD_COUNT = 8;
@@ -194,12 +193,8 @@ public class TsFileTool {
Tablet tablet =
new Tablet(
tableSchema.getTableName(),
- tableSchema.getColumnSchemas().stream()
- .map(IMeasurementSchema::getMeasurementName)
- .collect(Collectors.toList()),
- tableSchema.getColumnSchemas().stream()
- .map(IMeasurementSchema::getType)
- .collect(Collectors.toList()),
+
IMeasurementSchema.getMeasurementNameList(tableSchema.getColumnSchemas()),
+ IMeasurementSchema.getDataTypeList(tableSchema.getColumnSchemas()),
tableSchema.getColumnTypes(),
num);
@@ -237,7 +232,7 @@ public class TsFileTool {
}
}
}
- tablet.rowSize = num;
+ tablet.setRowSize(num);
return tablet;
} catch (Exception e) {
LOGGER.error("Failed to parse csv file", e);
diff --git
a/java/tsfile/src/main/java/org/apache/tsfile/utils/TsFileGeneratorUtils.java
b/java/tsfile/src/main/java/org/apache/tsfile/utils/TsFileGeneratorUtils.java
index f669bfec..6db55669 100644
---
a/java/tsfile/src/main/java/org/apache/tsfile/utils/TsFileGeneratorUtils.java
+++
b/java/tsfile/src/main/java/org/apache/tsfile/utils/TsFileGeneratorUtils.java
@@ -122,14 +122,14 @@ public class TsFileGeneratorUtils {
long sensorNum = schemas.size();
for (long r = 0; r < rowNum; r++, startValue++) {
- int row = tablet.rowSize++;
- timestamps[row] = startTime++;
+ int row = tablet.getRowSize();
+ tablet.addTimestamp(row, startTime++);
for (int i = 0; i < sensorNum; i++) {
long[] sensor = (long[]) values[i];
sensor[row] = startValue;
}
// write
- if (tablet.rowSize == tablet.getMaxRowNumber()) {
+ if (tablet.getRowSize() == tablet.getMaxRowNumber()) {
if (isAligned) {
tsFileWriter.writeAligned(tablet);
} else {
@@ -139,7 +139,7 @@ public class TsFileGeneratorUtils {
}
}
// write
- if (tablet.rowSize != 0) {
+ if (tablet.getRowSize() != 0) {
if (isAligned) {
tsFileWriter.writeAligned(tablet);
} else {
diff --git a/java/tsfile/src/main/java/org/apache/tsfile/utils/WriteUtils.java
b/java/tsfile/src/main/java/org/apache/tsfile/utils/WriteUtils.java
index 542d252f..cbd9e701 100644
--- a/java/tsfile/src/main/java/org/apache/tsfile/utils/WriteUtils.java
+++ b/java/tsfile/src/main/java/org/apache/tsfile/utils/WriteUtils.java
@@ -36,7 +36,7 @@ public class WriteUtils {
public static List<Pair<IDeviceID, Integer>> splitTabletByDevice(Tablet
tablet) {
List<Pair<IDeviceID, Integer>> result = new ArrayList<>();
IDeviceID lastDeviceID = null;
- for (int i = 0; i < tablet.rowSize; i++) {
+ for (int i = 0; i < tablet.getRowSize(); i++) {
final IDeviceID currDeviceID = tablet.getDeviceID(i);
if (!currDeviceID.equals(lastDeviceID)) {
if (lastDeviceID != null) {
@@ -45,7 +45,7 @@ public class WriteUtils {
lastDeviceID = currDeviceID;
}
}
- result.add(new Pair<>(lastDeviceID, tablet.rowSize));
+ result.add(new Pair<>(lastDeviceID, tablet.getRowSize()));
return result;
}
diff --git
a/java/tsfile/src/main/java/org/apache/tsfile/write/TsFileWriter.java
b/java/tsfile/src/main/java/org/apache/tsfile/write/TsFileWriter.java
index 28003c59..01116b1e 100644
--- a/java/tsfile/src/main/java/org/apache/tsfile/write/TsFileWriter.java
+++ b/java/tsfile/src/main/java/org/apache/tsfile/write/TsFileWriter.java
@@ -522,8 +522,11 @@ public class TsFileWriter implements AutoCloseable {
*/
@TsFileApi
public boolean writeRecord(TSRecord record) throws IOException,
WriteProcessException {
- boolean isAligned =
getSchema().getSeriesSchema(record.deviceId).isAligned();
- checkIsTimeseriesExist(record, isAligned);
+ MeasurementGroup measurementGroup =
getSchema().getSeriesSchema(record.deviceId);
+ if (measurementGroup == null) {
+ throw new NoDeviceException(record.deviceId.toString());
+ }
+ checkIsTimeseriesExist(record, measurementGroup.isAligned());
recordCount += groupWriters.get(record.deviceId).write(record.time,
record.dataPointList);
return checkMemorySizeAndMayFlushChunks();
}
@@ -537,16 +540,19 @@ public class TsFileWriter implements AutoCloseable {
*/
@TsFileApi
public boolean write(Tablet tablet) throws IOException,
WriteProcessException {
+ IDeviceID deviceID =
IDeviceID.Factory.DEFAULT_FACTORY.create(tablet.getDeviceId());
+ MeasurementGroup measurementGroup = getSchema().getSeriesSchema(deviceID);
+ if (measurementGroup == null) {
+ throw new NoDeviceException(deviceID.toString());
+ }
// make sure the ChunkGroupWriter for this Tablet exist
- checkIsTimeseriesExist(tablet, false);
+ checkIsTimeseriesExist(tablet, measurementGroup.isAligned());
// get corresponding ChunkGroupWriter and write this Tablet
- recordCount +=
- groupWriters
-
.get(IDeviceID.Factory.DEFAULT_FACTORY.create(tablet.getDeviceId()))
- .write(tablet);
+ recordCount += groupWriters.get(deviceID).write(tablet);
return checkMemorySizeAndMayFlushChunks();
}
+ @Deprecated
public boolean writeAligned(Tablet tablet) throws IOException,
WriteProcessException {
// make sure the ChunkGroupWriter for this Tablet exist
checkIsTimeseriesExist(tablet, true);
diff --git
a/java/tsfile/src/main/java/org/apache/tsfile/write/chunk/AlignedChunkGroupWriterImpl.java
b/java/tsfile/src/main/java/org/apache/tsfile/write/chunk/AlignedChunkGroupWriterImpl.java
index add8018b..e50d8a5c 100644
---
a/java/tsfile/src/main/java/org/apache/tsfile/write/chunk/AlignedChunkGroupWriterImpl.java
+++
b/java/tsfile/src/main/java/org/apache/tsfile/write/chunk/AlignedChunkGroupWriterImpl.java
@@ -189,7 +189,7 @@ public class AlignedChunkGroupWriterImpl implements
IChunkGroupWriter {
@Override
public int write(Tablet tablet) throws IOException, WriteProcessException {
- return write(tablet, 0, tablet.rowSize);
+ return write(tablet, 0, tablet.getRowSize());
}
@Override
diff --git
a/java/tsfile/src/main/java/org/apache/tsfile/write/chunk/NonAlignedChunkGroupWriterImpl.java
b/java/tsfile/src/main/java/org/apache/tsfile/write/chunk/NonAlignedChunkGroupWriterImpl.java
index 45e3bdbf..75e5a9bc 100644
---
a/java/tsfile/src/main/java/org/apache/tsfile/write/chunk/NonAlignedChunkGroupWriterImpl.java
+++
b/java/tsfile/src/main/java/org/apache/tsfile/write/chunk/NonAlignedChunkGroupWriterImpl.java
@@ -103,7 +103,7 @@ public class NonAlignedChunkGroupWriterImpl implements
IChunkGroupWriter {
@Override
public int write(Tablet tablet) throws IOException, WriteProcessException {
- return write(tablet, 0, tablet.rowSize);
+ return write(tablet, 0, tablet.getRowSize());
}
@Override
diff --git
a/java/tsfile/src/main/java/org/apache/tsfile/write/record/Tablet.java
b/java/tsfile/src/main/java/org/apache/tsfile/write/record/Tablet.java
index e1da3c05..7185fffb 100644
--- a/java/tsfile/src/main/java/org/apache/tsfile/write/record/Tablet.java
+++ b/java/tsfile/src/main/java/org/apache/tsfile/write/record/Tablet.java
@@ -92,8 +92,7 @@ public class Tablet {
*/
private boolean autoUpdateBitMaps = false;
- /** The number of rows to include in this {@link Tablet} */
- public int rowSize;
+ private int rowSize;
/** The maximum number of rows for this {@link Tablet} */
private final int maxRowNumber;
@@ -112,7 +111,7 @@ public class Tablet {
public Tablet(String deviceId, List<IMeasurementSchema> schemas, int
maxRowNumber) {
this.insertTargetName = deviceId;
- this.schemas = schemas;
+ this.schemas = new ArrayList<>(schemas);
setColumnCategories(ColumnCategory.nCopy(ColumnCategory.MEASUREMENT,
schemas.size()));
this.maxRowNumber = maxRowNumber;
measurementIndex = new HashMap<>();
@@ -458,7 +457,7 @@ public class Tablet {
/** Reset Tablet to the default state - set the rowSize to 0 and reset
bitMaps */
public void reset() {
- rowSize = 0;
+ this.rowSize = 0;
if (bitMaps != null) {
for (BitMap bitMap : bitMaps) {
if (bitMap == null) {
@@ -1079,6 +1078,15 @@ public class Tablet {
}
}
+ /** The number of rows to include in this {@link Tablet} */
+ public int getRowSize() {
+ return rowSize;
+ }
+
+ public void setRowSize(int rowSize) {
+ this.rowSize = rowSize;
+ }
+
public enum ColumnCategory {
ID,
MEASUREMENT,
diff --git
a/java/tsfile/src/main/java/org/apache/tsfile/write/schema/IMeasurementSchema.java
b/java/tsfile/src/main/java/org/apache/tsfile/write/schema/IMeasurementSchema.java
index be325653..740e76a5 100644
---
a/java/tsfile/src/main/java/org/apache/tsfile/write/schema/IMeasurementSchema.java
+++
b/java/tsfile/src/main/java/org/apache/tsfile/write/schema/IMeasurementSchema.java
@@ -29,6 +29,7 @@ import java.io.OutputStream;
import java.nio.ByteBuffer;
import java.util.List;
import java.util.Map;
+import java.util.stream.Collectors;
public interface IMeasurementSchema {
@@ -88,4 +89,14 @@ public interface IMeasurementSchema {
int partialSerializeTo(OutputStream outputStream) throws IOException;
boolean isLogicalView();
+
+ static List<String> getMeasurementNameList(List<? extends
IMeasurementSchema> schemaList) {
+ return schemaList.stream()
+ .map(IMeasurementSchema::getMeasurementName)
+ .collect(Collectors.toList());
+ }
+
+ static List<TSDataType> getDataTypeList(List<? extends IMeasurementSchema>
schemaList) {
+ return
schemaList.stream().map(IMeasurementSchema::getType).collect(Collectors.toList());
+ }
}
diff --git
a/java/tsfile/src/test/java/org/apache/tsfile/read/TsFileReaderTest.java
b/java/tsfile/src/test/java/org/apache/tsfile/read/TsFileReaderTest.java
index 01f8de57..9445c559 100644
--- a/java/tsfile/src/test/java/org/apache/tsfile/read/TsFileReaderTest.java
+++ b/java/tsfile/src/test/java/org/apache/tsfile/read/TsFileReaderTest.java
@@ -65,7 +65,6 @@ import java.util.Arrays;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
-import java.util.stream.Collectors;
import static
org.apache.tsfile.read.filter.factory.ValueFilterApi.DEFAULT_MEASUREMENT_INDEX;
@@ -613,12 +612,8 @@ public class TsFileReaderTest {
Tablet tablet =
new Tablet(
tableSchema.getTableName(),
- tableSchema.getColumnSchemas().stream()
- .map(IMeasurementSchema::getMeasurementName)
- .collect(Collectors.toList()),
- tableSchema.getColumnSchemas().stream()
- .map(IMeasurementSchema::getType)
- .collect(Collectors.toList()),
+
IMeasurementSchema.getMeasurementNameList(tableSchema.getColumnSchemas()),
+
IMeasurementSchema.getDataTypeList(tableSchema.getColumnSchemas()),
tableSchema.getColumnTypes());
String[][] ids =
@@ -640,7 +635,7 @@ public class TsFileReaderTest {
new StringArrayDeviceID(tableSchema.getTableName(), ids[i][0],
ids[i][1], ids[i][2]));
tablet.addValue("s1", i, i);
}
- tablet.rowSize = ids.length;
+ tablet.setRowSize(ids.length);
writer.writeTable(tablet);
}
try (TsFileReader tsFileReader = new TsFileReader(file)) {
diff --git
a/java/tsfile/src/test/java/org/apache/tsfile/tableview/PerformanceTest.java
b/java/tsfile/src/test/java/org/apache/tsfile/tableview/PerformanceTest.java
index 11eea0b8..6547172b 100644
--- a/java/tsfile/src/test/java/org/apache/tsfile/tableview/PerformanceTest.java
+++ b/java/tsfile/src/test/java/org/apache/tsfile/tableview/PerformanceTest.java
@@ -215,7 +215,7 @@ public class PerformanceTest {
startTime = System.nanoTime();
tsFileWriter.writeTable(
tablet,
- Collections.singletonList(new Pair<>(tablet.getDeviceID(0),
tablet.rowSize)));
+ Collections.singletonList(new Pair<>(tablet.getDeviceID(0),
tablet.getRowSize())));
writeTimeSum += System.nanoTime() - startTime;
}
}
@@ -282,7 +282,7 @@ public class PerformanceTest {
for (int valNum = 0; valNum < pointPerSeries; valNum++) {
tablet.timestamps[valNum] = (long) tabletNum * pointPerSeries + valNum;
}
- tablet.rowSize = pointPerSeries;
+ tablet.setRowSize(pointPerSeries);
}
private Tablet initTableTablet() {
@@ -293,10 +293,8 @@ public class PerformanceTest {
columnCategories.addAll(ColumnCategory.nCopy(ColumnCategory.MEASUREMENT,
measurementSchemaCnt));
return new Tablet(
null,
- measurementSchemas.stream()
- .map(IMeasurementSchema::getMeasurementName)
- .collect(Collectors.toList()),
-
measurementSchemas.stream().map(IMeasurementSchema::getType).collect(Collectors.toList()),
+ IMeasurementSchema.getMeasurementNameList(measurementSchemas),
+ IMeasurementSchema.getDataTypeList(measurementSchemas),
columnCategories,
pointPerSeries);
}
@@ -319,7 +317,7 @@ public class PerformanceTest {
for (int valNum = 0; valNum < pointPerSeries; valNum++) {
tablet.timestamps[valNum] = (long) tabletNum * pointPerSeries + valNum;
}
- tablet.rowSize = pointPerSeries;
+ tablet.setRowSize(pointPerSeries);
}
private void registerTree(TsFileWriter writer) throws WriteProcessException {
diff --git
a/java/tsfile/src/test/java/org/apache/tsfile/tableview/TableViewTest.java
b/java/tsfile/src/test/java/org/apache/tsfile/tableview/TableViewTest.java
index 94845694..c525e310 100644
--- a/java/tsfile/src/test/java/org/apache/tsfile/tableview/TableViewTest.java
+++ b/java/tsfile/src/test/java/org/apache/tsfile/tableview/TableViewTest.java
@@ -210,12 +210,8 @@ public class TableViewTest {
Tablet tablet =
new Tablet(
tableSchema.getTableName(),
- tableSchema.getColumnSchemas().stream()
- .map(IMeasurementSchema::getMeasurementName)
- .collect(Collectors.toList()),
- tableSchema.getColumnSchemas().stream()
- .map(IMeasurementSchema::getType)
- .collect(Collectors.toList()),
+
IMeasurementSchema.getMeasurementNameList(tableSchema.getColumnSchemas()),
+
IMeasurementSchema.getDataTypeList(tableSchema.getColumnSchemas()),
tableSchema.getColumnTypes());
ids =
@@ -235,7 +231,7 @@ public class TableViewTest {
tablet.addValue("id3", i, ids[i][2]);
tablet.addValue("s1", i, i);
}
- tablet.rowSize = ids.length;
+ tablet.setRowSize(ids.length);
writer.writeTable(tablet);
}
@@ -469,7 +465,7 @@ public class TableViewTest {
List<Path> selectedSeries = new ArrayList<>();
Set<IDeviceID> deviceIDS = new HashSet<>();
- for (int i = 0; i < tablet.rowSize; i++) {
+ for (int i = 0; i < tablet.getRowSize(); i++) {
final IDeviceID tabletDeviceID = tablet.getDeviceID(i);
if (!deviceIDS.contains(tabletDeviceID)) {
deviceIDS.add(tabletDeviceID);
@@ -495,12 +491,8 @@ public class TableViewTest {
Tablet tablet =
new Tablet(
tableSchema.getTableName(),
- tableSchema.getColumnSchemas().stream()
- .map(IMeasurementSchema::getMeasurementName)
- .collect(Collectors.toList()),
- tableSchema.getColumnSchemas().stream()
- .map(IMeasurementSchema::getType)
- .collect(Collectors.toList()),
+
IMeasurementSchema.getMeasurementNameList(tableSchema.getColumnSchemas()),
+ IMeasurementSchema.getDataTypeList(tableSchema.getColumnSchemas()),
tableSchema.getColumnTypes());
for (int i = 0; i < deviceNum; i++) {
@@ -515,7 +507,7 @@ public class TableViewTest {
}
}
}
- tablet.rowSize = deviceNum * numTimestampPerDevice;
+ tablet.setRowSize(deviceNum * numTimestampPerDevice);
return tablet;
}
diff --git
a/java/tsfile/src/test/java/org/apache/tsfile/write/DefaultSchemaTemplateTest.java
b/java/tsfile/src/test/java/org/apache/tsfile/write/DefaultSchemaTemplateTest.java
index d57cf30a..5e7564b9 100644
---
a/java/tsfile/src/test/java/org/apache/tsfile/write/DefaultSchemaTemplateTest.java
+++
b/java/tsfile/src/test/java/org/apache/tsfile/write/DefaultSchemaTemplateTest.java
@@ -63,6 +63,7 @@ public class DefaultSchemaTemplateTest {
schema.put("s2", s2);
writer.registerSchemaTemplate("defaultTemplate", schema, false);
+ writer.registerDevice("d1", "defaultTemplate");
Tablet tablet = new Tablet("d1", schemaList);
long[] timestamps = tablet.timestamps;
@@ -72,20 +73,20 @@ public class DefaultSchemaTemplateTest {
long value = 1L;
for (int r = 0; r < 10; r++, value++) {
- int row = tablet.rowSize++;
- timestamps[row] = timestamp++;
+ int row = tablet.getRowSize();
+ tablet.addTimestamp(row, timestamp++);
for (int i = 0; i < 2; i++) {
long[] sensor = (long[]) values[i];
sensor[row] = value;
}
// write Tablet to TsFile
- if (tablet.rowSize == tablet.getMaxRowNumber()) {
+ if (tablet.getRowSize() == tablet.getMaxRowNumber()) {
writer.write(tablet);
tablet.reset();
}
}
// write Tablet to TsFile
- if (tablet.rowSize != 0) {
+ if (tablet.getRowSize() != 0) {
writer.write(tablet);
tablet.reset();
}
diff --git
a/java/tsfile/src/test/java/org/apache/tsfile/write/MetadataIndexConstructorTest.java
b/java/tsfile/src/test/java/org/apache/tsfile/write/MetadataIndexConstructorTest.java
index eed8c1c9..32cbb6e3 100644
---
a/java/tsfile/src/test/java/org/apache/tsfile/write/MetadataIndexConstructorTest.java
+++
b/java/tsfile/src/test/java/org/apache/tsfile/write/MetadataIndexConstructorTest.java
@@ -482,20 +482,20 @@ public class MetadataIndexConstructorTest {
long timestamp = 1;
long value = 1000000L;
for (int r = 0; r < rowNum; r++, value++) {
- int row = tablet.rowSize++;
- timestamps[row] = timestamp++;
+ int row = tablet.getRowSize();
+ tablet.addTimestamp(row, timestamp++);
for (int j = 0; j < measurementNum; j++) {
long[] sensor = (long[]) values[j];
sensor[row] = value;
}
// write Tablet to TsFile
- if (tablet.rowSize == tablet.getMaxRowNumber()) {
+ if (tablet.getRowSize() == tablet.getMaxRowNumber()) {
tsFileWriter.writeAligned(tablet);
tablet.reset();
}
}
// write Tablet to TsFile
- if (tablet.rowSize != 0) {
+ if (tablet.getRowSize() != 0) {
tsFileWriter.writeAligned(tablet);
tablet.reset();
}
diff --git
a/java/tsfile/src/test/java/org/apache/tsfile/write/TsFileWriteApiTest.java
b/java/tsfile/src/test/java/org/apache/tsfile/write/TsFileWriteApiTest.java
index 4a9f9f60..edade15f 100644
--- a/java/tsfile/src/test/java/org/apache/tsfile/write/TsFileWriteApiTest.java
+++ b/java/tsfile/src/test/java/org/apache/tsfile/write/TsFileWriteApiTest.java
@@ -369,8 +369,8 @@ public class TsFileWriteApiTest {
int sensorNum = measurementSchemas.size();
long startTime = 0;
for (long r = 0; r < 10000; r++) {
- int row = tablet.rowSize++;
- timestamps[row] = startTime++;
+ int row = tablet.getRowSize();
+ tablet.addTimestamp(row, startTime++);
for (int i = 0; i < sensorNum - 1; i++) {
if (i == 1 && r > 1000) {
tablet.bitMaps[i].mark((int) r % tablet.getMaxRowNumber());
@@ -386,13 +386,13 @@ public class TsFileWriteApiTest {
dateSensor[row] = LocalDate.of(2024, 4, 1);
}
// write
- if (tablet.rowSize == tablet.getMaxRowNumber()) {
+ if (tablet.getRowSize() == tablet.getMaxRowNumber()) {
tsFileWriter.write(tablet);
tablet.reset();
}
}
// write
- if (tablet.rowSize != 0) {
+ if (tablet.getRowSize() != 0) {
tsFileWriter.write(tablet);
tablet.reset();
}
@@ -422,8 +422,8 @@ public class TsFileWriteApiTest {
int sensorNum = measurementSchemas.size();
long startTime = -100;
for (long r = 0; r < 10000; r++) {
- int row = tablet.rowSize++;
- timestamps[row] = startTime++;
+ int row = tablet.getRowSize();
+ tablet.addTimestamp(row, startTime++);
for (int i = 0; i < sensorNum - 1; i++) {
if (i == 1 && r > 1000) {
tablet.bitMaps[i].mark((int) r % tablet.getMaxRowNumber());
@@ -439,13 +439,13 @@ public class TsFileWriteApiTest {
dateSensor[row] = LocalDate.of(2024, 4, 1);
}
// write
- if (tablet.rowSize == tablet.getMaxRowNumber()) {
+ if (tablet.getRowSize() == tablet.getMaxRowNumber()) {
tsFileWriter.write(tablet);
tablet.reset();
}
}
// write
- if (tablet.rowSize != 0) {
+ if (tablet.getRowSize() != 0) {
tsFileWriter.write(tablet);
tablet.reset();
}
@@ -475,7 +475,8 @@ public class TsFileWriteApiTest {
int sensorNum = measurementSchemas.size();
long startTime = 0;
for (long r = 0; r < 10000; r++) {
- int row = tablet.rowSize++;
+ int row = tablet.getRowSize();
+ tablet.addTimestamp(row, startTime++);
timestamps[row] = startTime++;
for (int i = 0; i < sensorNum - 1; i++) {
if (i == 1 && r > 1000) {
@@ -492,13 +493,13 @@ public class TsFileWriteApiTest {
dateSensor[row] = LocalDate.of(2024, 4, 1);
}
// write
- if (tablet.rowSize == tablet.getMaxRowNumber()) {
+ if (tablet.getRowSize() == tablet.getMaxRowNumber()) {
tsFileWriter.writeAligned(tablet);
tablet.reset();
}
}
// write
- if (tablet.rowSize != 0) {
+ if (tablet.getRowSize() != 0) {
tsFileWriter.writeAligned(tablet);
tablet.reset();
}
@@ -528,8 +529,8 @@ public class TsFileWriteApiTest {
int sensorNum = measurementSchemas.size();
long startTime = -1000;
for (long r = 0; r < 10000; r++) {
- int row = tablet.rowSize++;
- timestamps[row] = startTime++;
+ int row = tablet.getRowSize();
+ tablet.addTimestamp(row, startTime++);
for (int i = 0; i < sensorNum - 1; i++) {
if (i == 1 && r > 1000) {
tablet.bitMaps[i].mark((int) r % tablet.getMaxRowNumber());
@@ -545,13 +546,13 @@ public class TsFileWriteApiTest {
dateSensor[row] = LocalDate.of(2024, 4, 1);
}
// write
- if (tablet.rowSize == tablet.getMaxRowNumber()) {
+ if (tablet.getRowSize() == tablet.getMaxRowNumber()) {
tsFileWriter.writeAligned(tablet);
tablet.reset();
}
}
// write
- if (tablet.rowSize != 0) {
+ if (tablet.getRowSize() != 0) {
tsFileWriter.writeAligned(tablet);
tablet.reset();
}
diff --git
a/java/tsfile/src/test/java/org/apache/tsfile/write/TsFileWriterTest.java
b/java/tsfile/src/test/java/org/apache/tsfile/write/TsFileWriterTest.java
index 5e4994a8..5a925c66 100644
--- a/java/tsfile/src/test/java/org/apache/tsfile/write/TsFileWriterTest.java
+++ b/java/tsfile/src/test/java/org/apache/tsfile/write/TsFileWriterTest.java
@@ -247,7 +247,7 @@ public class TsFileWriterTest {
tablet.timestamps[0] = 10000;
((float[]) tablet.values[0])[0] = 5.0f;
((int[]) tablet.values[1])[0] = 5;
- tablet.rowSize = 1;
+ tablet.setRowSize(1);
writer.write(tablet);
closeFile();
readOneRow();
@@ -265,7 +265,7 @@ public class TsFileWriterTest {
"s2", TSDataType.INT32, TSEncoding.RLE,
CompressionType.SNAPPY)));
tablet.timestamps[0] = 10000;
((float[]) tablet.values[0])[0] = 5.0f;
- tablet.rowSize = 1;
+ tablet.setRowSize(1);
writer.write(tablet);
closeFile();
// in this case, the value of s2 = 0 at time 10000.
diff --git
a/java/tsfile/src/test/java/org/apache/tsfile/write/record/TabletTest.java
b/java/tsfile/src/test/java/org/apache/tsfile/write/record/TabletTest.java
index 54401184..fabb9573 100644
--- a/java/tsfile/src/test/java/org/apache/tsfile/write/record/TabletTest.java
+++ b/java/tsfile/src/test/java/org/apache/tsfile/write/record/TabletTest.java
@@ -59,7 +59,7 @@ public class TabletTest {
tablet.addTimestamp(2, 2);
tablet.addValue(2, 0, true);
- Assert.assertEquals(tablet.rowSize, 3);
+ Assert.assertEquals(tablet.getRowSize(), 3);
Assert.assertTrue((Boolean) tablet.getValue(0, 0));
Assert.assertTrue((Boolean) tablet.getValue(0, 1));
Assert.assertFalse((Boolean) tablet.getValue(1, 0));
@@ -73,10 +73,10 @@ public class TabletTest {
Assert.assertTrue(tablet.bitMaps[1].isMarked(2));
tablet.addTimestamp(9, 9);
- Assert.assertEquals(10, tablet.rowSize);
+ Assert.assertEquals(10, tablet.getRowSize());
tablet.reset();
- Assert.assertEquals(0, tablet.rowSize);
+ Assert.assertEquals(0, tablet.getRowSize());
Assert.assertTrue(tablet.bitMaps[0].isAllMarked());
Assert.assertTrue(tablet.bitMaps[0].isAllMarked());
Assert.assertTrue(tablet.bitMaps[0].isAllMarked());
@@ -141,7 +141,7 @@ public class TabletTest {
final int rowSize = 1000;
final Tablet tablet = new Tablet(deviceId, measurementSchemas);
- tablet.rowSize = rowSize;
+ tablet.setRowSize(rowSize);
tablet.initBitMaps();
for (int i = 0; i < rowSize - 1; i++) {
tablet.addTimestamp(i, i);
@@ -210,7 +210,7 @@ public class TabletTest {
final int rowSize = 1000;
final Tablet tablet = new Tablet(deviceId, measurementSchemas);
- tablet.rowSize = rowSize;
+ tablet.setRowSize(rowSize);
tablet.initBitMaps();
for (int i = 0; i < rowSize; i++) {
tablet.addTimestamp(i, i);