shuwenwei opened a new pull request, #18454: URL: https://github.com/apache/iotdb/pull/18454
## Description Backport and complete the aligned TVList partial-column clone optimization for dev/1.3, including the review issues raised on the master cherry-pick PR (#18409). ### Changes 1. **Avoid O(N) transient allocations in aligned partial clone** — dev/1.3's `prepareMovePlan` allocated two N-wide `new List<?>[columnCount]` arrays (`valueColumnsToMove` + `bitmapColumnsToMove`) after memory admission had already reserved only the final retained-source size. Wide aligned tables now see a protected 2×N transient peak instead of an unprotected one. Also, `preparePartialClone` built the new list eagerly allocating an inner `ArrayList` per column; the clone constructor now allocates inner lists lazily. 2. **e2e test for the clone-and-swap path** — adds `testAlignedTVListPartialColumnCloneEndToEnd` in `FragmentInstanceExecutionTest`: one query stays active on an unsorted aligned working TVList while a second partial-column query triggers clone-and-swap; verifies column ownership transfer, both queries read correct values, reserved memory matches `calculateRamSize()`, and cleanup releases the retained source while the clone remains the working list. Also adds `@BeforeClass` DataNodeId init to avoid `Coordinator.<clinit>` `ExceptionInInitializerError` in the test JVM. 3. **cleanup: drop `alignedTVListColumnAccessMap` reference instead of `clear()`** — releases the whole map at once in `FragmentInstanceContext.cleanup()`. 4. **remove unused `getTvListByColumnIndex` dead code** — the method had no callers in main or test. ### Related - Backport of apache/iotdb#18409 (master) -- 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]
