yuqi1129 opened a new pull request, #12745: URL: https://github.com/apache/gravitino/pull/12745
### What changes were proposed in this pull request? Add version-CAS optimistic concurrency control and atomic service operations for managed groups. - Increment the group version on every update and match updates by group ID, expected version, and active-row state. - Make soft deletes version checked and classify a zero-row result as either a missing group or an OCC conflict. - Execute the group CAS before group-role and ownership mutations in one transaction. - Fence the parent metalake while creating a group and advance the version on overwrite upserts. - Add coverage for metadata-only and ID updates, stale deletes, overwrite versioning, parent fencing, and relationship rollback. ### Why are the changes needed? Concurrent group mutations could otherwise overwrite each other or leave partially updated relationship state. Fix: #12738 ### Does this PR introduce _any_ user-facing change? Concurrent managed-group writes now report the existing optimistic-lock conflict response (HTTP 409). No API or configuration keys are changed. ### How was this patch tested? - `./gradlew :core:test --tests TestGroupMetaService --tests TestAuthMappers --tests TestPOConverters -PskipITs -PskipDockerTests=true` - `./gradlew :core:spotlessCheck :core:compileTestJava` MySQL and PostgreSQL backend execution was attempted locally, but the test databases could not be created because `mac-docker-connector` was not running. The H2 backend and all targeted assertions passed. -- 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]
