yuqi1129 opened a new pull request, #12649:
URL: https://github.com/apache/gravitino/pull/12649

   ### What changes were proposed in this pull request?
   
   - Add `current_version` and `last_version` to `model_meta` for H2, MySQL, 
and PostgreSQL.
   - Use the model concurrency version to protect model, model-version, and 
alias writes.
   - Check the model version before changing dependent rows so stale writes 
leave no partial data.
   - Make model deletion and model-version registration, update, and deletion 
atomic.
   - Distinguish concurrent updates from deleted, renamed, or moved models.
   - Add SQL provider, concurrency, overwrite, stale-delete, and rollback tests.
   
   ### Why are the changes needed?
   
   Concurrent model and model-version writes could overwrite newer data or 
partially update version and alias rows. Version checks and transaction 
ordering ensure that only one writer succeeds and that failed writes are fully 
rolled back.
   
   Fix: #12348
   
   ### Does this PR introduce _any_ user-facing change?
   
   There is no public API or configuration change. Concurrent managed Model 
operations now reject stale writes instead of silently overwriting newer 
metadata.
   
   ### How was this patch tested?
   
   - `./gradlew spotlessApply`
   - `SKIP_DOCKER_TESTS=true ./gradlew :core:check -PskipITs 
-PskipDockerTests=true`
   - Model, Model Version, PO converter, and SQL provider tests on H2
   - PostgreSQL-specific SQL provider tests
   
   Live MySQL and PostgreSQL service tests were not run locally because the 
database containers were unavailable.


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