Skip update-cache logic when loading TsFile in IoTV2Consensus
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/receiver/protocol/pipeconsensus/PipeConsensusReceiver.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/receiver/protocol/pipeconsensus/PipeConsensusReceiver.java
index fbf0743..4e5163a 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/receiver/protocol/pipeconsensus/PipeConsensusReceiver.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/receiver/protocol/pipeconsensus/PipeConsensusReceiver.java
@@ -714,11 +714,7 @@
DataRegion region =
StorageEngine.getInstance().getDataRegion(((DataRegionId) consensusGroupId));
if (region != null) {
- TsFileResource resource =
- generateTsFileResource(
- filePath,
- progressIndex,
- IoTDBDescriptor.getInstance().getConfig().isCacheLastValuesForLoad());
+ TsFileResource resource = generateTsFileResource(filePath, progressIndex);
region.loadNewTsFile(resource, true, false, true);
} else {
// Data region is null indicates that dr has been removed or migrated. In those cases, there
@@ -773,13 +769,13 @@
dataRegion, databaseName, writePointCount, true)));
}
- private TsFileResource generateTsFileResource(
- String filePath, ProgressIndex progressIndex, boolean cacheLastValues) throws IOException {
+ private TsFileResource generateTsFileResource(String filePath, ProgressIndex progressIndex)
+ throws IOException {
final File tsFile = new File(filePath);
final TsFileResource tsFileResource = new TsFileResource(tsFile);
try (final TsFileSequenceReader reader = new TsFileSequenceReader(tsFile.getAbsolutePath())) {
- TsFileResourceUtils.updateTsFileResource(reader, tsFileResource, cacheLastValues);
+ TsFileResourceUtils.updateTsFileResource(reader, tsFileResource);
}
tsFileResource.setStatus(TsFileResourceStatus.NORMAL);
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/DataRegion.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/DataRegion.java
index 0f81908..6a3b091 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/DataRegion.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/DataRegion.java
@@ -3051,7 +3051,8 @@
TsFileLastReader lastReader = null;
LastCacheLoadStrategy lastCacheLoadStrategy = config.getLastCacheLoadStrategy();
- if ((lastCacheLoadStrategy == LastCacheLoadStrategy.UPDATE
+ if (!isFromConsensus
+ && (lastCacheLoadStrategy == LastCacheLoadStrategy.UPDATE
|| lastCacheLoadStrategy == LastCacheLoadStrategy.UPDATE_NO_BLOB)
&& newTsFileResource.getLastValues() == null) {
try {
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/utils/TsFileResourceUtils.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/utils/TsFileResourceUtils.java
index 3672f81..875aaae 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/utils/TsFileResourceUtils.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/utils/TsFileResourceUtils.java
@@ -413,9 +413,8 @@
}
public static void updateTsFileResource(
- TsFileSequenceReader reader, TsFileResource tsFileResource, boolean cacheLastValues)
- throws IOException {
- updateTsFileResource(reader.getAllTimeseriesMetadata(false), tsFileResource, cacheLastValues);
+ TsFileSequenceReader reader, TsFileResource tsFileResource) throws IOException {
+ updateTsFileResource(reader.getAllTimeseriesMetadata(false), tsFileResource, false);
tsFileResource.updatePlanIndexes(reader.getMinPlanIndex());
tsFileResource.updatePlanIndexes(reader.getMaxPlanIndex());
}
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/wal/recover/file/AbstractTsFileRecoverPerformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/wal/recover/file/AbstractTsFileRecoverPerformer.java
index 62a6a46..73621a5 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/wal/recover/file/AbstractTsFileRecoverPerformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/wal/recover/file/AbstractTsFileRecoverPerformer.java
@@ -115,7 +115,7 @@
protected void reconstructResourceFile() throws IOException {
try (TsFileSequenceReader reader =
new TsFileSequenceReader(tsFileResource.getTsFile().getAbsolutePath())) {
- TsFileResourceUtils.updateTsFileResource(reader, tsFileResource, false);
+ TsFileResourceUtils.updateTsFileResource(reader, tsFileResource);
}
// set progress index for pipe to avoid data loss
diff --git a/pom.xml b/pom.xml
index 79faeb1..518a7e1 100644
--- a/pom.xml
+++ b/pom.xml
@@ -175,7 +175,7 @@
<thrift.version>0.14.1</thrift.version>
<xz.version>1.9</xz.version>
<zstd-jni.version>1.5.6-3</zstd-jni.version>
- <tsfile.version>2.1.0-250612-SNAPSHOT</tsfile.version>
+ <tsfile.version>2.1.0-250616-SNAPSHOT</tsfile.version>
</properties>
<!--
if we claim dependencies in dependencyManagement, then we do not claim