This is an automated email from the ASF dual-hosted git repository.

Caideyipi pushed a commit to branch chunk-fix
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit 9287fe8b74f98ddf63a946b34bde519c11e98c26
Author: Caideyipi <[email protected]>
AuthorDate: Tue May 12 12:10:03 2026 +0800

    Update TsFileInsertionEventScanParser.java
---
 .../parser/scan/TsFileInsertionEventScanParser.java      | 16 +++++++++++++++-
 1 file changed, 15 insertions(+), 1 deletion(-)

diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/event/common/tsfile/parser/scan/TsFileInsertionEventScanParser.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/event/common/tsfile/parser/scan/TsFileInsertionEventScanParser.java
index 282e9bff91c..afd4b7ca83d 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/event/common/tsfile/parser/scan/TsFileInsertionEventScanParser.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/event/common/tsfile/parser/scan/TsFileInsertionEventScanParser.java
@@ -598,7 +598,21 @@ public class TsFileInsertionEventScanParser extends 
TsFileInsertionEventParser {
                   final long chunkSize = timeChunkSize + valueChunkSize;
                   final long pageMemorySize = timeChunkPageMemorySize + 
valueChunkPageMemorySize;
                   if (chunkSize + chunkHeader.getDataSize()
-                      > allocatedMemoryBlockForChunk.getMemoryUsageInBytes()) {
+                          > 
allocatedMemoryBlockForChunk.getMemoryUsageInBytes()
+                      || timeChunkPageMemorySize > 0
+                          && chunkPageMemorySize > 0
+                          && pageMemorySize + chunkPageMemorySize
+                              > getPageDataMemoryLimitInBytes()) {
+                    if (valueChunkList.size() == 1) {
+                      final long currentPageMemorySize =
+                          timeChunkPageMemorySize > 0 && 
valueChunkPageMemorySize > 0
+                              ? pageMemorySize
+                              : 0;
+                      if (currentPageMemorySize > 
getPageDataMemoryLimitInBytes()) {
+                        PipeDataNodeResourceManager.memory()
+                            .forceResize(allocatedMemoryBlockForBatchData, 
currentPageMemorySize);
+                      }
+                    }
                     needReturn = recordAlignedChunk(valueChunkList, marker);
                   }
                 }

Reply via email to