Caideyipi opened a new pull request, #18419: URL: https://github.com/apache/iotdb/pull/18419
## Description ### Problem Load reuses TsFile insertion parsers, whose tablet, chunk, page, and modifications blocks were hard-coded to PipeDataNodeResourceManager.memory(). A large Pipe tablet backlog could therefore consume the Pipe pool and prevent Load from acquiring query memory. ### Fix - Inject a parser memory owner through TsFileInsertionEventParserMemoryManager. - Keep existing parser constructors on the Pipe pool for Pipe callers. - Route Load tree scan/query and table parsing through LoadTsFileParserMemoryManager, backed by LoadTsFileMemoryManager and the query operator pool. - Propagate LoadRuntimeOutOfMemoryException during parser initialization instead of treating it as TsFile corruption and falling back. ### Tests - LoadTsFileParserPipeMemoryIsolationTest: PipeDataNodeResourceManager.memory() throws if accessed; the real Load scan parser still reads the TsFile, records query-pool usage, and releases it. - LoadTreeStatementDataTypeConvertExecutionVisitorTest#testLoadScanParserUsesQueryMemoryPoolInsteadOfPipeMemory: query-pool usage increases while Pipe usage is unchanged. - LoadTsFileMemoryManagerTest and TsFileInsertionEventParserTest pass; Spotless/checkstyle pass. - The latest incremental compile is additionally blocked by pre-existing stale cross-module Subscription/Thrift generated APIs, unrelated to this change. ### Scope note The existing Load conversion semaphore only reads Pipe capacity to size permits; this change removes parser working-memory allocations from the Pipe pool. <hr> This PR has: - [x] been self-reviewed. - [x] added comments explaining the ownership boundary. - [x] added or updated unit tests for the new code paths. - [ ] added integration tests (not applicable to this unit-level memory ownership fix). <hr> ##### Key changed/added classes - TsFileInsertionEventParserMemoryBlock / TsFileInsertionEventParserMemoryManager - LoadTsFileParserMemoryManager - TsFileInsertionEventParser, scan/query/table parser implementations - LoadTreeTsFileTabletIterator and LoadTableStatementDataTypeConvertExecutionVisitor - Load memory/parser isolation tests -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
