Skip to content

Commit b6c7300

Browse files
authored
Load: Fixed the bug that active load may fail for table model (#17124)
1 parent 30b3de6 commit b6c7300

4 files changed

Lines changed: 16 additions & 3 deletions

File tree

iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/load/LoadTsFileAnalyzer.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -574,7 +574,11 @@ private void doAnalyzeSingleTableFile(
574574

575575
getOrCreateTableSchemaCache().flush();
576576
if (getOrCreateTableSchemaCache().isNeedDecode4DifferentTimeColumn()) {
577-
loadTsFileTableStatement.enableNeedDecode4TimeColumn();
577+
if (isTableModelStatement) {
578+
loadTsFileTableStatement.enableNeedDecode4TimeColumn();
579+
} else {
580+
loadTsFileTreeStatement.enableNeedDecode4TimeColumn();
581+
}
578582
}
579583
getOrCreateTableSchemaCache().clearTagColumnMapper();
580584

iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/LogicalPlanVisitor.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -549,7 +549,7 @@ public PlanNode visitLoadFile(
549549
loadTsFileStatement.getResources(),
550550
isTableModel,
551551
loadTsFileStatement.getDatabase(),
552-
false);
552+
loadTsFileStatement.isNeedDecode4TimeColumn());
553553
}
554554

555555
@Override

iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/load/LoadTsFileNode.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ private List<WritePlanNode> splitByPartitionForTreeModel(Analysis analysis) {
128128
database,
129129
statement.isDeleteAfterLoad(),
130130
statement.getWritePointCount(i),
131-
false));
131+
needDecode4TimeColumn));
132132
}
133133
return res;
134134
}

iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/crud/LoadTsFileStatement.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ public class LoadTsFileStatement extends Statement {
6868
private List<Boolean> isTableModel;
6969
private List<TsFileResource> resources;
7070
private List<Long> writePointCountList;
71+
private boolean needDecode4TimeColumn;
7172

7273
public LoadTsFileStatement(String filePath) throws FileNotFoundException {
7374
this.file = new File(filePath).getAbsoluteFile();
@@ -223,6 +224,14 @@ public boolean isGeneratedByPipe() {
223224
return isGeneratedByPipe;
224225
}
225226

227+
public boolean isNeedDecode4TimeColumn() {
228+
return needDecode4TimeColumn;
229+
}
230+
231+
public void enableNeedDecode4TimeColumn() {
232+
this.needDecode4TimeColumn = true;
233+
}
234+
226235
public List<File> getTsFiles() {
227236
return tsFiles;
228237
}

0 commit comments

Comments
 (0)