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 <jt2594...@163.com> 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