Caideyipi opened a new pull request, #18249: URL: https://github.com/apache/iotdb/pull/18249
## Description ### Reduce aligned MemTable bitmap memory - Use the compact `BitMap` backing array instead of allocating one byte per TVList slot. - Allocate column bitmaps lazily per TVList block, leaving untouched historical blocks as null references. - Skip MemTable bitmap materialization for empty input bitmaps and successful row statuses. - Avoid building a temporary result bitmap when a batch contains no failed rows. ### Correct pre-write memory accounting - Reserve the full bitmap object, byte-array, and list-reference cost for each aligned value block. - Account for newly added aligned measurements when row, rows, or tablet inserts cross TVList block boundaries. - Use the actual existing block count when extending a new measurement. ### Tests - Added regression coverage for compact, block-lazy bitmap allocation. - Added coverage ensuring empty input bitmaps and successful statuses do not materialize MemTable bitmaps. - Updated aligned TVList memory-accounting assertions. - `AlignedTVListTest` and `TsFileProcessorTest`: 24 tests passed. - Spotless passed. - Checkstyle passed with 0 violations. <hr> This PR has: - [x] been self-reviewed. - [x] added comments explaining the intent where it would not be obvious. - [x] added unit tests or modified existing tests to cover new code paths. <hr> ##### Key changed/added classes (or packages if there are too many classes) in this PR - `AlignedTVList` - `TsFileProcessor` - `AlignedTVListTest` - `TsFileProcessorTest` -- 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]
