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);
 

Reply via email to