-
Notifications
You must be signed in to change notification settings - Fork 3.4k
Open
Description
There is a potential race condition in
public void dropCatalog(Session session, CatalogName catalog, boolean cascade) |
spotted by @findepi
What we do here:
we first read from catalogManager
1.1. we conditionally re-read something in getCatalogMetadataForWrite
we then issue unconditional drop in catalogManager
depending on the status if the (1) read, systemSecurityMetadata.catalogDropped is called
What we want to guarantee is that:
if a catalog ceased to exist, systemSecurityMetadata.catalogDropped has been called
Which may not be the case when e.g.
(pre-existing) catalog did not exist and was created between (1) and (2)
(new) catalog did exist but unhealthy and was fixed between (1) and (2)
Metadata
Metadata
Assignees
Labels
No labels