JingsongLi opened a new pull request, #8793:
URL: https://github.com/apache/paimon/pull/8793

   ## Purpose
   
   Allow data-evolution updates to proceed without invalidating existing global 
index files when the caller explicitly accepts temporary index staleness. One 
example is updating a vector column from `NULL` to a value: existing indexed 
results remain valid, while the new vector stays invisible until the index is 
rebuilt.
   
   ## Changes
   
   - Add `IGNORE` to `global-index.column-update-action` while keeping 
`THROW_ERROR` as the default.
   - Short-circuit global index conflict scanning and deletion for Spark, 
Flink, and PyPaimon when `IGNORE` is configured.
   - Add configuration, unit, and integration coverage.
   - Document the stale-index behavior and visibility trade-off.
   
   ## Impact
   
   Existing `THROW_ERROR` and `DROP_PARTITION_INDEX` behavior is unchanged. 
`IGNORE` is opt-in and leaves existing index files untouched, so callers must 
rebuild the index when updated values need to become visible through indexed 
queries.
   
   ## Tests
   
   - `CoreOptionsTest#testIgnoreGlobalIndexColumnUpdateAction`
   - `DataEvolutionMergeIntoActionITCase#testUpdateAction` with Flink 1 profile
   - Spark 3.5 `RowTrackingTest`: 41 tests passed
   - PyPaimon `global_index_update_action_test.py`: 7 tests passed
   - Spark 4 Spotless check passed; the full Spark 4 suite was not run locally 
because Maven dependency resolution stalled.
   


-- 
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]

Reply via email to