Open onurctirtir opened 7 months ago
@aykut-bozkurt / @halilozanakgul / @mtuncer / @vlkncetin, please feel free to add more comments if I'm missing something.
cc: @austuner / @pinodeca on prioritization of this issue.
I found out one place where we accumulate locks on the coordinator. extern_IsColumnarTableAmTable
points to IsColumnarTableAmTable
which acquires lock on the relation without releasing it. See below:
if (accessMethod == NULL && extern_IsColumnarTableAmTable(relationId))
We can solve it with a variant of IsColumnarTableAmTable
which takes no lock, which is fine to replace above snippet where we already take lock on metadata tables.
ALTER TABLE IF EXISTS DETACH PARTITION
. This command guards us against the cases where the parent relation does not exist. However, it doesn't save us in the cases where: