JingsongLi opened a new pull request, #8892: URL: https://github.com/apache/paimon/pull/8892
## What changed - Rename `CurrentRowIdEntries` to `LiveFileRowIdRangeCollector` so the type describes both its input and purpose. - Replace the ambiguous `special` flag with explicit `NORMAL` and `DEDICATED` file roles. - Encapsulate sorting, partition grouping, logical-range analysis, materialization, and storage release behind a terminal `finish` operation. - Simplify the row ID assignment planner to consume only fragmented partition results. - Add focused tests for normal and dedicated file semantics, fragmented and contiguous ranges, terminal lifecycle, validation failures, cleanup, and primitive-memory usage. ## Why The previous abstraction exposed its primitive storage protocol to the planner through raw indexes, an encoded signed scan result, a second materialization call, and manual release. It was difficult to tell that the stored values represented live file row ID ranges or that normal files define the logical range while dedicated files must be contained within it. The collector API makes those domain rules explicit while preserving the low-memory three-word representation and exact-size materialization for fragmented ranges. ## Validation - `mvn -pl paimon-core -Pfast-build -DwildcardSuites=none -Dtest=LiveFileRowIdRangeCollectorTest test` - `mvn -pl paimon-core -Pfast-build -DwildcardSuites=none '-Dtest=DataEvolutionRowIdReassignerTest#testProjectedPlannerBuildsExpectedPlan+testProjectedPlannerAppliesPartitionPredicate+testProjectedPlannerReadsOrcManifest+testInitialCapacityEstimatesLiveFileRangesAfterDeletes' test` - `mvn -pl paimon-core -DskipTests compile` -- 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]
