JingsongLi opened a new pull request, #8407: URL: https://github.com/apache/paimon/pull/8407
## Summary This PR makes global index build incremental by default across Java/Flink/Spark/Python and extracts shared planning logic for reusable row-range/shard handling. ## Changes - Add reusable core planning utilities to compute indexed/unindexed row ranges and shard indexed splits. - Reuse the planner in Flink and Spark generic index topologies, while sorted index builders use the shared incremental scan. - Add a Python `globalindex.build_plan` module and route Python index builders through the same planning model. - Extend core, Flink, Spark, and Python tests for incremental/unindexed range behavior. ## Testing - [x] `python -m pytest paimon-python/pypaimon/tests/global_index_build_test.py` - [x] `mvn -pl paimon-core -am -Pfast-build -DfailIfNoTests=false -Dtest=GlobalIndexBuilderUtilsTest,SortedGlobalIndexBuilderTest test` - [x] `mvn -pl paimon-flink/paimon-flink-common -am -Pfast-build -DfailIfNoTests=false -Dtest=SortedIndexTopoBuilderTest,GenericIndexTopoBuilderTest test` - [x] `mvn -pl paimon-spark/paimon-spark-common -am -Pfast-build -DfailIfNoTests=false -Dtest=CreateGlobalIndexProcedureTest test` ## Notes The default/procedure build path now skips already indexed data and only builds unindexed row ranges. Explicit max-indexed-row-id entry points keep their explicit semantics. -- 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]
