diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/load/LoadTsFileAnalyzer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/load/LoadTsFileAnalyzer.java index 62483a3a3c504..4375d03a0193b 100644 --- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/load/LoadTsFileAnalyzer.java +++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/load/LoadTsFileAnalyzer.java @@ -514,10 +514,10 @@ private void doAnalyzeSingleTreeFile( final Map> device2TimeseriesMetadata = timeseriesMetadataIterator.next(); - if (!tsFileResource.resourceFileExists()) { - TsFileResourceUtils.updateTsFileResource(device2TimeseriesMetadata, tsFileResource); - getOrCreateTreeSchemaVerifier().setCurrentTimeIndex(tsFileResource.getTimeIndex()); - } + // Update time index no matter if resource file exists or not, because resource file may be + // untrusted + TsFileResourceUtils.updateTsFileResource(device2TimeseriesMetadata, tsFileResource); + getOrCreateTreeSchemaVerifier().setCurrentTimeIndex(tsFileResource.getTimeIndex()); if (isAutoCreateSchemaOrVerifySchemaEnabled) { getOrCreateTreeSchemaVerifier().autoCreateAndVerify(reader, device2TimeseriesMetadata); @@ -573,10 +573,10 @@ private void doAnalyzeSingleTableFile( final Map> device2TimeseriesMetadata = timeseriesMetadataIterator.next(); - if (!tsFileResource.resourceFileExists()) { - TsFileResourceUtils.updateTsFileResource(device2TimeseriesMetadata, tsFileResource); - getOrCreateTableSchemaCache().setCurrentTimeIndex(tsFileResource.getTimeIndex()); - } + // Update time index no matter if resource file exists or not, because resource file may be + // untrusted + TsFileResourceUtils.updateTsFileResource(device2TimeseriesMetadata, tsFileResource); + getOrCreateTableSchemaCache().setCurrentTimeIndex(tsFileResource.getTimeIndex()); for (IDeviceID deviceId : device2TimeseriesMetadata.keySet()) { getOrCreateTableSchemaCache().autoCreateAndVerify(deviceId);