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

   ### Describe the subtask
   
   Remove TreeLock from the 56 call sites on external-catalog entities and on 
catalog/metalake lifecycle:
   
   1. Fix the entity cache first. `RelationalEntityStore.put(e, false)` 
populates the cache after the insert commits, without the cache segment lock. A 
delete that commits in between leaves a stale entry until the next change-log 
poll. Populate under `withCacheLock`, or invalidate instead of populating, and 
add a race test.
   2. Table, schema, topic, view and function dispatchers, plus 
`SchemaHookDispatcher` and `IcebergNamespaceHookDispatcher` (36), after 
identity-fenced drop/update (#13172) and the import id check (#13173).
   3. `CatalogManager` and `MetalakeManager` (20), after #13176. Until then, 
non-force `dropCatalog` checks for schemas outside the delete transaction and 
then cascades, so a schema created concurrently would be silently deleted. Also 
re-prove the catalog cache publication order in `alterCatalog` without the lock.
   
   Cover each family with a two-server test (#13182): external drop/recreate 
ABA, rename versus drop, import versus import, child create versus parent drop.
   
   ### Parent issue
   
   https://github.com/apache/gravitino/issues/13730
   


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