From b70949ae8cabb50111667c43da42867688aea848 Mon Sep 17 00:00:00 2001 From: Hanefi Onaldi Date: Mon, 21 Feb 2022 22:27:20 +0300 Subject: [PATCH] Lock nodes when building ddl task lists --- src/backend/distributed/commands/utility_hook.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/backend/distributed/commands/utility_hook.c b/src/backend/distributed/commands/utility_hook.c index cf9012dd5..eb4b4644b 100644 --- a/src/backend/distributed/commands/utility_hook.c +++ b/src/backend/distributed/commands/utility_hook.c @@ -1563,7 +1563,8 @@ DDLTaskList(Oid relationId, const char *commandString) List * NodeDDLTaskList(TargetWorkerSet targets, List *commands) { - List *workerNodes = TargetWorkerSetNodeList(targets, NoLock); + /* don't allow concurrent node list changes that require an exclusive lock */ + List *workerNodes = TargetWorkerSetNodeList(targets, RowShareLock); if (list_length(workerNodes) <= 0) {