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]
