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 e11f8889 Add TableModel annotations (#327)
e11f8889 is described below
commit e11f8889677732af1d6fee8f30513769200bbf60
Author: shuwenwei <[email protected]>
AuthorDate: Wed Dec 11 12:23:48 2024 +0800
Add TableModel annotations (#327)
* add anotations
* modify annotations' retention policy to CLASS
---
.../org/apache/tsfile/annotations/TableModel.java} | 13 +++--
.../org/apache/tsfile/annotations/TreeModel.java} | 13 +++--
.../org/apache/tsfile/annotations}/TsFileApi.java | 2 +-
.../tsfile/file/metadata/ColumnSchemaBuilder.java | 2 +-
.../apache/tsfile/file/metadata/TableSchema.java | 2 +-
.../java/org/apache/tsfile/read/TsFileReader.java | 2 +-
.../read/query/dataset/AbstractResultSet.java | 2 +-
.../tsfile/read/query/dataset/ResultSet.java | 2 +-
.../read/query/dataset/ResultSetMetadata.java | 2 +-
.../tsfile/read/query/dataset/TreeResultSet.java | 2 +-
.../tsfile/read/v4/DeviceTableModelReader.java | 2 +-
.../org/apache/tsfile/read/v4/ITsFileReader.java | 2 +-
.../apache/tsfile/read/v4/TsFileReaderBuilder.java | 2 +-
.../java/org/apache/tsfile/write/TsFileWriter.java | 2 +-
.../org/apache/tsfile/write/record/TSRecord.java | 2 +-
.../org/apache/tsfile/write/record/Tablet.java | 55 +++++++++++++++-------
.../tsfile/write/schema/MeasurementSchema.java | 2 +-
.../write/v4/AbstractTableModelTsFileWriter.java | 2 +-
.../tsfile/write/v4/DeviceTableModelWriter.java | 2 +-
.../org/apache/tsfile/write/v4/ITsFileWriter.java | 2 +-
.../tsfile/write/v4/TsFileWriterBuilder.java | 2 +-
21 files changed, 76 insertions(+), 41 deletions(-)
diff --git a/java/tsfile/src/main/java/org/apache/tsfile/common/TsFileApi.java
b/java/common/src/main/java/org/apache/tsfile/annotations/TableModel.java
similarity index 69%
copy from java/tsfile/src/main/java/org/apache/tsfile/common/TsFileApi.java
copy to java/common/src/main/java/org/apache/tsfile/annotations/TableModel.java
index d27f0aca..5bcbd504 100644
--- a/java/tsfile/src/main/java/org/apache/tsfile/common/TsFileApi.java
+++ b/java/common/src/main/java/org/apache/tsfile/annotations/TableModel.java
@@ -7,7 +7,7 @@
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
@@ -17,10 +17,17 @@
* under the License.
*/
-package org.apache.tsfile.common;
+package org.apache.tsfile.annotations;
+import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+/**
+ * This annotation indicates that the related filed, method, or constructor is
only used for
+ * TableModel.
+ */
+@Target({ElementType.METHOD, ElementType.FIELD, ElementType.CONSTRUCTOR})
@Retention(RetentionPolicy.CLASS)
-public @interface TsFileApi {}
+public @interface TableModel {}
diff --git a/java/tsfile/src/main/java/org/apache/tsfile/common/TsFileApi.java
b/java/common/src/main/java/org/apache/tsfile/annotations/TreeModel.java
similarity index 69%
copy from java/tsfile/src/main/java/org/apache/tsfile/common/TsFileApi.java
copy to java/common/src/main/java/org/apache/tsfile/annotations/TreeModel.java
index d27f0aca..ea8924b1 100644
--- a/java/tsfile/src/main/java/org/apache/tsfile/common/TsFileApi.java
+++ b/java/common/src/main/java/org/apache/tsfile/annotations/TreeModel.java
@@ -7,7 +7,7 @@
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
@@ -17,10 +17,17 @@
* under the License.
*/
-package org.apache.tsfile.common;
+package org.apache.tsfile.annotations;
+import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+/**
+ * This annotation indicates that the related filed, method, or constructor is
only used for
+ * TreeModel.
+ */
+@Target({ElementType.METHOD, ElementType.FIELD, ElementType.CONSTRUCTOR})
@Retention(RetentionPolicy.CLASS)
-public @interface TsFileApi {}
+public @interface TreeModel {}
diff --git a/java/tsfile/src/main/java/org/apache/tsfile/common/TsFileApi.java
b/java/common/src/main/java/org/apache/tsfile/annotations/TsFileApi.java
similarity index 96%
rename from java/tsfile/src/main/java/org/apache/tsfile/common/TsFileApi.java
rename to java/common/src/main/java/org/apache/tsfile/annotations/TsFileApi.java
index d27f0aca..a9716043 100644
--- a/java/tsfile/src/main/java/org/apache/tsfile/common/TsFileApi.java
+++ b/java/common/src/main/java/org/apache/tsfile/annotations/TsFileApi.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.tsfile.common;
+package org.apache.tsfile.annotations;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
diff --git
a/java/tsfile/src/main/java/org/apache/tsfile/file/metadata/ColumnSchemaBuilder.java
b/java/tsfile/src/main/java/org/apache/tsfile/file/metadata/ColumnSchemaBuilder.java
index 8e674764..7fcb66d7 100644
---
a/java/tsfile/src/main/java/org/apache/tsfile/file/metadata/ColumnSchemaBuilder.java
+++
b/java/tsfile/src/main/java/org/apache/tsfile/file/metadata/ColumnSchemaBuilder.java
@@ -19,7 +19,7 @@
package org.apache.tsfile.file.metadata;
-import org.apache.tsfile.common.TsFileApi;
+import org.apache.tsfile.annotations.TsFileApi;
import org.apache.tsfile.enums.TSDataType;
import org.apache.tsfile.write.record.Tablet.ColumnCategory;
diff --git
a/java/tsfile/src/main/java/org/apache/tsfile/file/metadata/TableSchema.java
b/java/tsfile/src/main/java/org/apache/tsfile/file/metadata/TableSchema.java
index f9c9f5d8..c5792e89 100644
--- a/java/tsfile/src/main/java/org/apache/tsfile/file/metadata/TableSchema.java
+++ b/java/tsfile/src/main/java/org/apache/tsfile/file/metadata/TableSchema.java
@@ -19,7 +19,7 @@
package org.apache.tsfile.file.metadata;
-import org.apache.tsfile.common.TsFileApi;
+import org.apache.tsfile.annotations.TsFileApi;
import org.apache.tsfile.compatibility.DeserializeConfig;
import org.apache.tsfile.enums.TSDataType;
import org.apache.tsfile.utils.ReadWriteForEncodingUtils;
diff --git a/java/tsfile/src/main/java/org/apache/tsfile/read/TsFileReader.java
b/java/tsfile/src/main/java/org/apache/tsfile/read/TsFileReader.java
index bf0a3440..15860726 100644
--- a/java/tsfile/src/main/java/org/apache/tsfile/read/TsFileReader.java
+++ b/java/tsfile/src/main/java/org/apache/tsfile/read/TsFileReader.java
@@ -19,7 +19,7 @@
package org.apache.tsfile.read;
-import org.apache.tsfile.common.TsFileApi;
+import org.apache.tsfile.annotations.TsFileApi;
import org.apache.tsfile.read.controller.CachedChunkLoaderImpl;
import org.apache.tsfile.read.controller.IChunkLoader;
import org.apache.tsfile.read.controller.IMetadataQuerier;
diff --git
a/java/tsfile/src/main/java/org/apache/tsfile/read/query/dataset/AbstractResultSet.java
b/java/tsfile/src/main/java/org/apache/tsfile/read/query/dataset/AbstractResultSet.java
index 8a28866d..5b07dd46 100644
---
a/java/tsfile/src/main/java/org/apache/tsfile/read/query/dataset/AbstractResultSet.java
+++
b/java/tsfile/src/main/java/org/apache/tsfile/read/query/dataset/AbstractResultSet.java
@@ -19,7 +19,7 @@
package org.apache.tsfile.read.query.dataset;
-import org.apache.tsfile.common.TsFileApi;
+import org.apache.tsfile.annotations.TsFileApi;
import org.apache.tsfile.enums.TSDataType;
import org.apache.tsfile.exception.NullFieldException;
import org.apache.tsfile.read.common.Field;
diff --git
a/java/tsfile/src/main/java/org/apache/tsfile/read/query/dataset/ResultSet.java
b/java/tsfile/src/main/java/org/apache/tsfile/read/query/dataset/ResultSet.java
index 02f23071..0f2d72bf 100644
---
a/java/tsfile/src/main/java/org/apache/tsfile/read/query/dataset/ResultSet.java
+++
b/java/tsfile/src/main/java/org/apache/tsfile/read/query/dataset/ResultSet.java
@@ -19,7 +19,7 @@
package org.apache.tsfile.read.query.dataset;
-import org.apache.tsfile.common.TsFileApi;
+import org.apache.tsfile.annotations.TsFileApi;
import java.io.IOException;
import java.time.LocalDate;
diff --git
a/java/tsfile/src/main/java/org/apache/tsfile/read/query/dataset/ResultSetMetadata.java
b/java/tsfile/src/main/java/org/apache/tsfile/read/query/dataset/ResultSetMetadata.java
index 506346b3..aeef3d94 100644
---
a/java/tsfile/src/main/java/org/apache/tsfile/read/query/dataset/ResultSetMetadata.java
+++
b/java/tsfile/src/main/java/org/apache/tsfile/read/query/dataset/ResultSetMetadata.java
@@ -19,7 +19,7 @@
package org.apache.tsfile.read.query.dataset;
-import org.apache.tsfile.common.TsFileApi;
+import org.apache.tsfile.annotations.TsFileApi;
import org.apache.tsfile.enums.TSDataType;
public interface ResultSetMetadata {
diff --git
a/java/tsfile/src/main/java/org/apache/tsfile/read/query/dataset/TreeResultSet.java
b/java/tsfile/src/main/java/org/apache/tsfile/read/query/dataset/TreeResultSet.java
index e9c162cb..0f3aade6 100644
---
a/java/tsfile/src/main/java/org/apache/tsfile/read/query/dataset/TreeResultSet.java
+++
b/java/tsfile/src/main/java/org/apache/tsfile/read/query/dataset/TreeResultSet.java
@@ -19,7 +19,7 @@
package org.apache.tsfile.read.query.dataset;
-import org.apache.tsfile.common.TsFileApi;
+import org.apache.tsfile.annotations.TsFileApi;
import org.apache.tsfile.read.common.Path;
import java.io.IOException;
diff --git
a/java/tsfile/src/main/java/org/apache/tsfile/read/v4/DeviceTableModelReader.java
b/java/tsfile/src/main/java/org/apache/tsfile/read/v4/DeviceTableModelReader.java
index 50f6ab6e..f9c9870a 100644
---
a/java/tsfile/src/main/java/org/apache/tsfile/read/v4/DeviceTableModelReader.java
+++
b/java/tsfile/src/main/java/org/apache/tsfile/read/v4/DeviceTableModelReader.java
@@ -19,7 +19,7 @@
package org.apache.tsfile.read.v4;
-import org.apache.tsfile.common.TsFileApi;
+import org.apache.tsfile.annotations.TsFileApi;
import org.apache.tsfile.enums.TSDataType;
import org.apache.tsfile.exception.read.ReadProcessException;
import org.apache.tsfile.exception.write.NoMeasurementException;
diff --git
a/java/tsfile/src/main/java/org/apache/tsfile/read/v4/ITsFileReader.java
b/java/tsfile/src/main/java/org/apache/tsfile/read/v4/ITsFileReader.java
index 9f031237..885e8452 100644
--- a/java/tsfile/src/main/java/org/apache/tsfile/read/v4/ITsFileReader.java
+++ b/java/tsfile/src/main/java/org/apache/tsfile/read/v4/ITsFileReader.java
@@ -19,7 +19,7 @@
package org.apache.tsfile.read.v4;
-import org.apache.tsfile.common.TsFileApi;
+import org.apache.tsfile.annotations.TsFileApi;
import org.apache.tsfile.exception.read.ReadProcessException;
import org.apache.tsfile.exception.write.NoMeasurementException;
import org.apache.tsfile.exception.write.NoTableException;
diff --git
a/java/tsfile/src/main/java/org/apache/tsfile/read/v4/TsFileReaderBuilder.java
b/java/tsfile/src/main/java/org/apache/tsfile/read/v4/TsFileReaderBuilder.java
index a6fcc196..16be5473 100644
---
a/java/tsfile/src/main/java/org/apache/tsfile/read/v4/TsFileReaderBuilder.java
+++
b/java/tsfile/src/main/java/org/apache/tsfile/read/v4/TsFileReaderBuilder.java
@@ -19,7 +19,7 @@
package org.apache.tsfile.read.v4;
-import org.apache.tsfile.common.TsFileApi;
+import org.apache.tsfile.annotations.TsFileApi;
import java.io.File;
import java.io.IOException;
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 d2f77400..a4f43fa4 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
@@ -18,7 +18,7 @@
*/
package org.apache.tsfile.write;
-import org.apache.tsfile.common.TsFileApi;
+import org.apache.tsfile.annotations.TsFileApi;
import org.apache.tsfile.common.conf.TSFileConfig;
import org.apache.tsfile.common.conf.TSFileDescriptor;
import org.apache.tsfile.encrypt.EncryptParameter;
diff --git
a/java/tsfile/src/main/java/org/apache/tsfile/write/record/TSRecord.java
b/java/tsfile/src/main/java/org/apache/tsfile/write/record/TSRecord.java
index 68aa126a..b7c24831 100644
--- a/java/tsfile/src/main/java/org/apache/tsfile/write/record/TSRecord.java
+++ b/java/tsfile/src/main/java/org/apache/tsfile/write/record/TSRecord.java
@@ -18,7 +18,7 @@
*/
package org.apache.tsfile.write.record;
-import org.apache.tsfile.common.TsFileApi;
+import org.apache.tsfile.annotations.TsFileApi;
import org.apache.tsfile.common.conf.TSFileConfig;
import org.apache.tsfile.file.metadata.IDeviceID;
import org.apache.tsfile.file.metadata.IDeviceID.Factory;
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 4acf943b..02fbb72e 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
@@ -19,7 +19,9 @@
package org.apache.tsfile.write.record;
-import org.apache.tsfile.common.TsFileApi;
+import org.apache.tsfile.annotations.TableModel;
+import org.apache.tsfile.annotations.TreeModel;
+import org.apache.tsfile.annotations.TsFileApi;
import org.apache.tsfile.common.conf.TSFileConfig;
import org.apache.tsfile.enums.TSDataType;
import org.apache.tsfile.file.metadata.IDeviceID;
@@ -105,10 +107,12 @@ public class Tablet {
* @param schemas the list of {@link MeasurementSchema}s for creating the
tablet, only
* measurementId and type take effects
*/
+ @TreeModel
public Tablet(String deviceId, List<IMeasurementSchema> schemas) {
this(deviceId, schemas, DEFAULT_SIZE);
}
+ @TreeModel
public Tablet(String deviceId, List<IMeasurementSchema> schemas, int
maxRowNumber) {
this.insertTargetName = deviceId;
this.schemas = new ArrayList<>(schemas);
@@ -122,10 +126,12 @@ public class Tablet {
reset();
}
+ @TreeModel
public Tablet(IDeviceID deviceID, List<String> measurementList,
List<TSDataType> dataTypeList) {
this(deviceID, measurementList, dataTypeList, DEFAULT_SIZE);
}
+ @TreeModel
public Tablet(
IDeviceID deviceID,
List<String> measurementList,
@@ -136,10 +142,12 @@ public class Tablet {
measurementList,
dataTypeList,
ColumnCategory.nCopy(ColumnCategory.MEASUREMENT,
measurementList.size()),
- maxRowNumber);
+ maxRowNumber,
+ true);
}
@TsFileApi
+ @TableModel
public Tablet(List<String> columnNameList, List<TSDataType> dataTypeList) {
this(columnNameList, dataTypeList, DEFAULT_SIZE);
}
@@ -153,25 +161,28 @@ public class Tablet {
* @param maxRowNum the maximum number of rows for this tablet
*/
@TsFileApi
+ @TableModel
public Tablet(List<String> columnNameList, List<TSDataType> dataTypeList,
int maxRowNum) {
this(null, columnNameList, dataTypeList, null, maxRowNum, false);
}
+ @TableModel
public Tablet(
String tableName,
- List<String> measurementList,
+ List<String> columnNameList,
List<TSDataType> dataTypeList,
List<ColumnCategory> columnCategoryList) {
- this(tableName, measurementList, dataTypeList, columnCategoryList,
DEFAULT_SIZE);
+ this(tableName, columnNameList, dataTypeList, columnCategoryList,
DEFAULT_SIZE);
}
+ @TableModel
public Tablet(
- String insertTargetName,
- List<String> measurementList,
+ String tableName,
+ List<String> columnNameList,
List<TSDataType> dataTypeList,
List<ColumnCategory> columnCategoryList,
int maxRowNum) {
- this(insertTargetName, measurementList, dataTypeList, columnCategoryList,
maxRowNum, true);
+ this(tableName, columnNameList, dataTypeList, columnCategoryList,
maxRowNum, true);
}
protected Tablet(
@@ -210,6 +221,7 @@ public class Tablet {
* @param bitMaps given {@link BitMap}s
* @param maxRowNumber the maximum number of rows for this {@link Tablet}
*/
+ @TreeModel
public Tablet(
String deviceId,
List<IMeasurementSchema> schemas,
@@ -217,25 +229,29 @@ public class Tablet {
Object[] values,
BitMap[] bitMaps,
int maxRowNumber) {
- this(
- deviceId,
- schemas,
- ColumnCategory.nCopy(ColumnCategory.MEASUREMENT, schemas.size()),
- timestamps,
- values,
- bitMaps,
- maxRowNumber);
+ this.insertTargetName = deviceId;
+ this.schemas = schemas;
+ setColumnCategories(ColumnCategory.nCopy(ColumnCategory.MEASUREMENT,
schemas.size()));
+ this.timestamps = timestamps;
+ this.values = values;
+ this.bitMaps = bitMaps;
+ this.maxRowNumber = maxRowNumber;
+ // rowSize == maxRowNumber in this case
+ this.rowSize = maxRowNumber;
+ measurementIndex = new HashMap<>();
+ constructMeasurementIndexMap();
}
+ @TableModel
public Tablet(
- String insertTargetName,
+ String tableName,
List<IMeasurementSchema> schemas,
List<ColumnCategory> columnCategories,
long[] timestamps,
Object[] values,
BitMap[] bitMaps,
int maxRowNumber) {
- this.insertTargetName = insertTargetName;
+ this.insertTargetName = tableName;
this.schemas = schemas;
setColumnCategories(columnCategories);
this.timestamps = timestamps;
@@ -1144,6 +1160,7 @@ public class Tablet {
* @param i a row number.
* @return the IDeviceID of the i-th row.
*/
+ @TableModel
public IDeviceID getDeviceID(int i) {
String[] idArray = new String[idColumnIndexes.size() + 1];
idArray[0] = getTableName();
@@ -1193,6 +1210,7 @@ public class Tablet {
*
* @return the insertTargetName as the deviceId
*/
+ @TreeModel
public String getDeviceId() {
return insertTargetName;
}
@@ -1202,10 +1220,12 @@ public class Tablet {
*
* @param deviceId set the deviceId as the insertTargetName
*/
+ @TreeModel
public void setDeviceId(String deviceId) {
this.insertTargetName = deviceId;
}
+ @TableModel
public String getTableName() {
return insertTargetName == null ? null : insertTargetName.toLowerCase();
}
@@ -1215,6 +1235,7 @@ public class Tablet {
*
* @param tableName set the tableName as the insertTargetName
*/
+ @TableModel
public void setTableName(String tableName) {
this.insertTargetName = tableName.toLowerCase();
}
diff --git
a/java/tsfile/src/main/java/org/apache/tsfile/write/schema/MeasurementSchema.java
b/java/tsfile/src/main/java/org/apache/tsfile/write/schema/MeasurementSchema.java
index 7d078477..6c36dfe1 100644
---
a/java/tsfile/src/main/java/org/apache/tsfile/write/schema/MeasurementSchema.java
+++
b/java/tsfile/src/main/java/org/apache/tsfile/write/schema/MeasurementSchema.java
@@ -18,7 +18,7 @@
*/
package org.apache.tsfile.write.schema;
-import org.apache.tsfile.common.TsFileApi;
+import org.apache.tsfile.annotations.TsFileApi;
import org.apache.tsfile.common.conf.TSFileDescriptor;
import org.apache.tsfile.encoding.encoder.Encoder;
import org.apache.tsfile.encoding.encoder.TSEncodingBuilder;
diff --git
a/java/tsfile/src/main/java/org/apache/tsfile/write/v4/AbstractTableModelTsFileWriter.java
b/java/tsfile/src/main/java/org/apache/tsfile/write/v4/AbstractTableModelTsFileWriter.java
index 80069d3e..c2278753 100644
---
a/java/tsfile/src/main/java/org/apache/tsfile/write/v4/AbstractTableModelTsFileWriter.java
+++
b/java/tsfile/src/main/java/org/apache/tsfile/write/v4/AbstractTableModelTsFileWriter.java
@@ -19,7 +19,7 @@
package org.apache.tsfile.write.v4;
-import org.apache.tsfile.common.TsFileApi;
+import org.apache.tsfile.annotations.TsFileApi;
import org.apache.tsfile.common.conf.TSFileConfig;
import org.apache.tsfile.common.conf.TSFileDescriptor;
import org.apache.tsfile.encrypt.EncryptParameter;
diff --git
a/java/tsfile/src/main/java/org/apache/tsfile/write/v4/DeviceTableModelWriter.java
b/java/tsfile/src/main/java/org/apache/tsfile/write/v4/DeviceTableModelWriter.java
index 4b517759..bae685e1 100644
---
a/java/tsfile/src/main/java/org/apache/tsfile/write/v4/DeviceTableModelWriter.java
+++
b/java/tsfile/src/main/java/org/apache/tsfile/write/v4/DeviceTableModelWriter.java
@@ -19,7 +19,7 @@
package org.apache.tsfile.write.v4;
-import org.apache.tsfile.common.TsFileApi;
+import org.apache.tsfile.annotations.TsFileApi;
import org.apache.tsfile.exception.write.ConflictDataTypeException;
import org.apache.tsfile.exception.write.NoMeasurementException;
import org.apache.tsfile.exception.write.NoTableException;
diff --git
a/java/tsfile/src/main/java/org/apache/tsfile/write/v4/ITsFileWriter.java
b/java/tsfile/src/main/java/org/apache/tsfile/write/v4/ITsFileWriter.java
index e3a34634..8610ee1f 100644
--- a/java/tsfile/src/main/java/org/apache/tsfile/write/v4/ITsFileWriter.java
+++ b/java/tsfile/src/main/java/org/apache/tsfile/write/v4/ITsFileWriter.java
@@ -19,7 +19,7 @@
package org.apache.tsfile.write.v4;
-import org.apache.tsfile.common.TsFileApi;
+import org.apache.tsfile.annotations.TsFileApi;
import org.apache.tsfile.exception.write.WriteProcessException;
import org.apache.tsfile.write.record.Tablet;
diff --git
a/java/tsfile/src/main/java/org/apache/tsfile/write/v4/TsFileWriterBuilder.java
b/java/tsfile/src/main/java/org/apache/tsfile/write/v4/TsFileWriterBuilder.java
index da3ebc4c..267bc861 100644
---
a/java/tsfile/src/main/java/org/apache/tsfile/write/v4/TsFileWriterBuilder.java
+++
b/java/tsfile/src/main/java/org/apache/tsfile/write/v4/TsFileWriterBuilder.java
@@ -19,7 +19,7 @@
package org.apache.tsfile.write.v4;
-import org.apache.tsfile.common.TsFileApi;
+import org.apache.tsfile.annotations.TsFileApi;
import org.apache.tsfile.file.metadata.TableSchema;
import java.io.File;