This is an automated email from the ASF dual-hosted git repository. shuwenwei pushed a commit to branch fixLoadSplitTimePartitionWithEmptyChunk in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit b71c10d97fd0bec1c4af0acc13e2fecafc2d5a7e Author: shuwenwei <[email protected]> AuthorDate: Thu Jul 17 15:32:44 2025 +0800 Fix the handling of empty value chunk when load splitting time partitions --- .../apache/iotdb/db/storageengine/load/splitter/TsFileSplitter.java | 3 +++ .../compaction/BatchedCompactionWithTsFileSplitterTest.java | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/load/splitter/TsFileSplitter.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/load/splitter/TsFileSplitter.java index bf534bffdeb..d194919c18d 100644 --- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/load/splitter/TsFileSplitter.java +++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/load/splitter/TsFileSplitter.java @@ -521,6 +521,9 @@ public class TsFileSplitter { alignedChunkData.addValueChunk(header); if (!isTimeChunkNeedDecode) { alignedChunkData.writeEntireChunk(ByteBuffer.allocate(0), chunkMetadata); + } else { + alignedChunkData.writeEntirePage( + new PageHeader(0, 0, chunkMetadata.getStatistics()), ByteBuffer.allocate(0)); } allChunkData.add(alignedChunkData); } diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/BatchedCompactionWithTsFileSplitterTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/BatchedCompactionWithTsFileSplitterTest.java index edfad9ff251..c619aff66ae 100644 --- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/BatchedCompactionWithTsFileSplitterTest.java +++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/BatchedCompactionWithTsFileSplitterTest.java @@ -71,7 +71,7 @@ public class BatchedCompactionWithTsFileSplitterTest extends AbstractCompactionT super.setUp(); originMaxConcurrentAlignedSeriesInCompaction = IoTDBDescriptor.getInstance().getConfig().getCompactionMaxAlignedSeriesNumInOneBatch(); - IoTDBDescriptor.getInstance().getConfig().setCompactionMaxAlignedSeriesNumInOneBatch(2); + IoTDBDescriptor.getInstance().getConfig().setCompactionMaxAlignedSeriesNumInOneBatch(6); } @After @@ -222,7 +222,7 @@ public class BatchedCompactionWithTsFileSplitterTest extends AbstractCompactionT }, TSEncoding.PLAIN, CompressionType.LZ4, - Arrays.asList(false, false, false, false, false), + Arrays.asList(false, false, false, true, false), true); seqResources.add(seqResource2);
