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