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

   ### What changes were proposed in this pull request?
   
   Add `SupportsDomainOperations`, exposed through 
`EntityStore.domainOperations()`, for transactional domain creation, parent 
changes and status changes.
   
   Operations lock the relevant rows and run the caller's validation against 
the locked state. This includes atomic sub-domain creation, attach/move/detach, 
bounded retries for status changes, and protection against generic writes 
bypassing these locks.
   
   This is the storage portion of #13884. The manager, backing tags, 
authorization and events are separate changes.
   
   Stacked on #14350; kept as a draft until that dependency is merged.
   
   ### Why are the changes needed?
   
   Hierarchy and status checks must observe related domains under the same 
locks as the write. Independent entity and relation writes cannot provide that 
transaction boundary.
   
   Part of #13884.
   
   ### Does this PR introduce _any_ user-facing change?
   
   No. This adds internal storage operations for the domain manager.
   
   ### How was this patch tested?
   
   Java and test compilation, Spotless, and `:core:javadoc` passed.
   
   Related core unit tests and H2 tests passed, covering rollback, 
parent-change retries, stale session-cache reads and row-lock concurrency.
   
   MySQL and PostgreSQL verification is left to CI.
   


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