This is an automated email from the ASF dual-hosted git repository.
jt2594838 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/iotdb.git
The following commit(s) were added to refs/heads/master by this push:
new a6ac4cba687 [Pipe] Release tablet memory before closing TsFile scan
parser (#18350)
a6ac4cba687 is described below
commit a6ac4cba687a98a1dbc0babe72f590da9ce9be8f
Author: Caideyipi <[email protected]>
AuthorDate: Wed Jul 29 17:28:50 2026 +0800
[Pipe] Release tablet memory before closing TsFile scan parser (#18350)
---
.../tsfile/parser/scan/TsFileInsertionEventScanParser.java | 5 ++++-
.../iotdb/db/pipe/event/TsFileInsertionEventParserTest.java | 10 ++++++++++
2 files changed, 14 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 a7be2439983..79abbd65fae 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
@@ -165,6 +165,9 @@ public class TsFileInsertionEventScanParser extends
TsFileInsertionEventParser {
tsFileSequenceReader.position((long)
TSFileConfig.MAGIC_STRING.getBytes().length + 1);
prepareData();
+ if (Objects.isNull(chunkReader)) {
+ close();
+ }
} catch (final Exception e) {
close();
throw e;
@@ -440,7 +443,7 @@ public class TsFileInsertionEventScanParser extends
TsFileInsertionEventParser {
} while (Objects.nonNull(chunkReader) &&
!chunkReader.hasNextSatisfiedPage());
if (Objects.isNull(chunkReader)) {
- close();
+ // Let the caller release the last tablet's memory before closing the
parser.
break;
}
diff --git
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/pipe/event/TsFileInsertionEventParserTest.java
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/pipe/event/TsFileInsertionEventParserTest.java
index 42c138926aa..bdc7c1e4e38 100644
---
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/pipe/event/TsFileInsertionEventParserTest.java
+++
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/pipe/event/TsFileInsertionEventParserTest.java
@@ -172,6 +172,16 @@ public class TsFileInsertionEventParserTest {
null,
null,
false)) {
+ replaceAllocatedTabletMemory(
+ parser,
+ new PipeMemoryBlock(0) {
+ @Override
+ public void close() {
+ Assert.assertEquals(0, getMemoryUsageInBytes());
+ super.close();
+ }
+ });
+
final Iterator<TabletInsertionEvent> iterator =
parser.toTabletInsertionEvents().iterator();
Assert.assertTrue(iterator.hasNext());