This is an automated email from the ASF dual-hosted git repository.
jiangtian 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 b3d0ad72e31 Skip update-cache logic when loading TsFile in
IoTV2Consensus (#15729)
b3d0ad72e31 is described below
commit b3d0ad72e31c6c67ff3b27abfe6d8dc345e689fb
Author: Jiang Tian <[email protected]>
AuthorDate: Tue Jun 17 09:28:29 2025 +0800
Skip update-cache logic when loading TsFile in IoTV2Consensus (#15729)
---
.../protocol/pipeconsensus/PipeConsensusReceiver.java | 12 ++++--------
.../apache/iotdb/db/storageengine/dataregion/DataRegion.java | 3 ++-
.../storageengine/dataregion/utils/TsFileResourceUtils.java | 5 ++---
.../wal/recover/file/AbstractTsFileRecoverPerformer.java | 2 +-
pom.xml | 2 +-
5 files changed, 10 insertions(+), 14 deletions(-)
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 fbf07431a73..4e5163a5bb0 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 @@ public class PipeConsensusReceiver {
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 @@ public class PipeConsensusReceiver {
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 0f81908a435..6a3b0917422 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 @@ public class DataRegion implements IDataRegionForQuery {
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 3672f816414..875aaaec17a 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 class TsFileResourceUtils {
}
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 62a6a465410..73621a5208e 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 @@ public abstract class AbstractTsFileRecoverPerformer
implements Closeable {
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 79faeb15f75..518a7e105d1 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