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

   ### Describe the subtask
   
   Write and land the design document that analyzes whether TreeLock is needed 
once Gravitino runs in HA, and decides the direction. It should cover:
   
   - **Background & problem**: TreeLock is per-JVM, so it protects nothing 
across nodes behind a load balancer.
   - **Analysis**: every catalog write touches two stores (external catalog + 
Gravitino store) with no shared transaction; for external-backed catalogs the 
external system is already the cross-node judge, while managed catalogs 
(fileset/model) rely only on the Gravitino store.
   - **Two directions compared**: (1) remove the lock, move correctness into 
the shared DB (OCC + conditional insert); (2) keep a cross-node lock (external 
service / DB `FOR UPDATE`).
   - **Industry survey**: how comparable systems (Iceberg REST/Polaris, Nessie, 
Glue, Metacat, Kubernetes, Debezium outbox, Hive ACID) keep two stores 
consistent.
   - **Conclusion**: choose Direction 1; shrink TreeLock only after the DB 
rules land.
   - **Proposal & task breakdown**: Changes 1-4 plus the pre-existing hazards 
split out as do-first sub-issues (#12153, #12154, #12155).
   
   Draft: `design-docs/treelock-necessity-and-concurrency-design.md` (with 
rendered diagrams under `design-docs/images/`).
   
   ### Parent issue
   
   https://github.com/apache/gravitino/issues/10238
   


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