yuqi1129 opened a new issue, #13730:
URL: https://github.com/apache/gravitino/issues/13730

   ### Describe the proposal
   
   `TreeLock` is a per-JVM lock, so it protects nothing across Gravitino 
servers. Epic #10238 moved correctness into the shared database. This epic 
removes the lock itself, one operation family at a time. It takes over the 
removal work tracked in #13183.
   
   A lock is removed only when:
   1. every invariant it guards is enforced by the database (strict insert, 
version CAS, parent/endpoint row lock in the child's transaction, or a 
one-transaction cascade), or the operation never writes the entity store, and
   2. it does not order a store write against an external side effect 
(connector, authorization plugin, fileset storage, job executor).
   
   Each removal PR names the invariant that replaces the lock and the test that 
proves it.
   
   User-visible change: on a single server, concurrent writes to the same 
object no longer queue. The loser gets `OptimisticLockException` (HTTP 409, 
code 1012), as multi-node deployments already do (#12341).
   
   Baseline: 162 `doWithTreeLock`/`doWithRootTreeLock` call sites in 20 classes 
on `main` at `278102990e`.
   
   Related: #10238 (parent), #13182 (two-server race harness), #9875 (TreeLock 
write performance).
   
   ### Task list
   
   (filled in after the subtasks are created)
   


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