From e42a7987075131810b3b56d490c5cd0855265f2e Mon Sep 17 00:00:00 2001 From: Marco Slot Date: Mon, 14 Mar 2022 15:29:27 +0100 Subject: [PATCH] Always use RowShareLock in pg_dist_node when syncing metadata --- .../distributed/transaction/worker_transaction.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/backend/distributed/transaction/worker_transaction.c b/src/backend/distributed/transaction/worker_transaction.c index 2878cae86..44e4a1ead 100644 --- a/src/backend/distributed/transaction/worker_transaction.c +++ b/src/backend/distributed/transaction/worker_transaction.c @@ -72,7 +72,7 @@ void SendCommandToWorkersAsUser(TargetWorkerSet targetWorkerSet, const char *nodeUser, const char *command) { - List *workerNodeList = TargetWorkerSetNodeList(targetWorkerSet, ShareLock); + List *workerNodeList = TargetWorkerSetNodeList(targetWorkerSet, RowShareLock); /* run commands serially */ WorkerNode *workerNode = NULL; @@ -185,7 +185,7 @@ void SendBareCommandListToMetadataWorkers(List *commandList) { TargetWorkerSet targetWorkerSet = NON_COORDINATOR_METADATA_NODES; - List *workerNodeList = TargetWorkerSetNodeList(targetWorkerSet, ShareLock); + List *workerNodeList = TargetWorkerSetNodeList(targetWorkerSet, RowShareLock); char *nodeUser = CurrentUserName(); ErrorIfAnyMetadataNodeOutOfSync(workerNodeList); @@ -226,7 +226,7 @@ SendCommandToMetadataWorkersParams(const char *command, const char *const *parameterValues) { List *workerNodeList = TargetWorkerSetNodeList(NON_COORDINATOR_METADATA_NODES, - ShareLock); + RowShareLock); ErrorIfAnyMetadataNodeOutOfSync(workerNodeList); @@ -305,7 +305,7 @@ OpenConnectionsToWorkersInParallel(TargetWorkerSet targetWorkerSet, const char * { List *connectionList = NIL; - List *workerNodeList = TargetWorkerSetNodeList(targetWorkerSet, ShareLock); + List *workerNodeList = TargetWorkerSetNodeList(targetWorkerSet, RowShareLock); WorkerNode *workerNode = NULL; foreach_ptr(workerNode, workerNodeList) @@ -374,7 +374,7 @@ SendCommandToWorkersParamsInternal(TargetWorkerSet targetWorkerSet, const char * const char *const *parameterValues) { List *connectionList = NIL; - List *workerNodeList = TargetWorkerSetNodeList(targetWorkerSet, ShareLock); + List *workerNodeList = TargetWorkerSetNodeList(targetWorkerSet, RowShareLock); UseCoordinatedTransaction(); Use2PCForCoordinatedTransaction();