This is an automated email from the ASF dual-hosted git repository.
rong pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/iotdb.git
The following commit(s) were added to refs/heads/master by this push:
new 2cca3c2c145 Load: fix data loss when loading different files with same
name in the same directory (#15527)
2cca3c2c145 is described below
commit 2cca3c2c145e7ff34f8663210873856c1bf6e7a3
Author: Zikun Ma <[email protected]>
AuthorDate: Mon May 19 16:02:41 2025 +0800
Load: fix data loss when loading different files with same name in the same
directory (#15527)
---
.../plan/analyze/load/LoadTsFileAnalyzer.java | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
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 62483a3a3c5..4375d03a019 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 @@ public class LoadTsFileAnalyzer implements AutoCloseable {
final Map<IDeviceID, List<TimeseriesMetadata>> 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 @@ public class LoadTsFileAnalyzer implements AutoCloseable {
final Map<IDeviceID, List<TimeseriesMetadata>> 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);