Always use RowShareLock in pg_dist_node when syncing metadata

pull/5801/head
Marco Slot 2022-03-14 15:29:27 +01:00 committed by Marco Slot
parent 36b33e2491
commit e42a798707
1 changed files with 5 additions and 5 deletions

View File

@ -72,7 +72,7 @@ void
SendCommandToWorkersAsUser(TargetWorkerSet targetWorkerSet, const char *nodeUser, SendCommandToWorkersAsUser(TargetWorkerSet targetWorkerSet, const char *nodeUser,
const char *command) const char *command)
{ {
List *workerNodeList = TargetWorkerSetNodeList(targetWorkerSet, ShareLock); List *workerNodeList = TargetWorkerSetNodeList(targetWorkerSet, RowShareLock);
/* run commands serially */ /* run commands serially */
WorkerNode *workerNode = NULL; WorkerNode *workerNode = NULL;
@ -185,7 +185,7 @@ void
SendBareCommandListToMetadataWorkers(List *commandList) SendBareCommandListToMetadataWorkers(List *commandList)
{ {
TargetWorkerSet targetWorkerSet = NON_COORDINATOR_METADATA_NODES; TargetWorkerSet targetWorkerSet = NON_COORDINATOR_METADATA_NODES;
List *workerNodeList = TargetWorkerSetNodeList(targetWorkerSet, ShareLock); List *workerNodeList = TargetWorkerSetNodeList(targetWorkerSet, RowShareLock);
char *nodeUser = CurrentUserName(); char *nodeUser = CurrentUserName();
ErrorIfAnyMetadataNodeOutOfSync(workerNodeList); ErrorIfAnyMetadataNodeOutOfSync(workerNodeList);
@ -226,7 +226,7 @@ SendCommandToMetadataWorkersParams(const char *command,
const char *const *parameterValues) const char *const *parameterValues)
{ {
List *workerNodeList = TargetWorkerSetNodeList(NON_COORDINATOR_METADATA_NODES, List *workerNodeList = TargetWorkerSetNodeList(NON_COORDINATOR_METADATA_NODES,
ShareLock); RowShareLock);
ErrorIfAnyMetadataNodeOutOfSync(workerNodeList); ErrorIfAnyMetadataNodeOutOfSync(workerNodeList);
@ -305,7 +305,7 @@ OpenConnectionsToWorkersInParallel(TargetWorkerSet targetWorkerSet, const char *
{ {
List *connectionList = NIL; List *connectionList = NIL;
List *workerNodeList = TargetWorkerSetNodeList(targetWorkerSet, ShareLock); List *workerNodeList = TargetWorkerSetNodeList(targetWorkerSet, RowShareLock);
WorkerNode *workerNode = NULL; WorkerNode *workerNode = NULL;
foreach_ptr(workerNode, workerNodeList) foreach_ptr(workerNode, workerNodeList)
@ -374,7 +374,7 @@ SendCommandToWorkersParamsInternal(TargetWorkerSet targetWorkerSet, const char *
const char *const *parameterValues) const char *const *parameterValues)
{ {
List *connectionList = NIL; List *connectionList = NIL;
List *workerNodeList = TargetWorkerSetNodeList(targetWorkerSet, ShareLock); List *workerNodeList = TargetWorkerSetNodeList(targetWorkerSet, RowShareLock);
UseCoordinatedTransaction(); UseCoordinatedTransaction();
Use2PCForCoordinatedTransaction(); Use2PCForCoordinatedTransaction();