diff --git a/src/backend/distributed/metadata/node_metadata.c b/src/backend/distributed/metadata/node_metadata.c index 3ca27426d..0b4f03f93 100644 --- a/src/backend/distributed/metadata/node_metadata.c +++ b/src/backend/distributed/metadata/node_metadata.c @@ -1336,6 +1336,10 @@ RemoveNodeFromCluster(char *nodeName, int32 nodePort) static void RemoveOldShardPlacementForNodeGroup(int groupId) { + /* + * Prevent concurrent deferred drop + */ + LockPlacementCleanup(); List *shardPlacementsOnNode = AllShardPlacementsOnNodeGroup(groupId); GroupShardPlacement *placement = NULL; foreach_ptr(placement, shardPlacementsOnNode)