You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by sh...@apache.org on 2025/07/17 07:33:06 UTC
(iotdb) 01/01: Fix the handling of empty value chunk when load splitting time partitions
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 <s1...@gmail.com>
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);