Merge pull request #5801 from citusdata/marcocitus/row-share-lock

pull/5804/head^2
Marco Slot 2022-03-15 11:00:04 +01:00 committed by GitHub
commit 5fd0ec7dab
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 14 additions and 7 deletions

View File

@ -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();

View File

@ -1819,7 +1819,13 @@ SELECT pg_reload_conf();
t
(1 row)
UPDATE pg_dist_node SET metadatasynced=true WHERE nodeport=:worker_1_port;
-- make sure that all the nodes have valid metadata before moving forward
SELECT wait_until_metadata_sync(60000);
wait_until_metadata_sync
---------------------------------------------------------------------
(1 row)
SELECT master_add_node('localhost', :worker_2_port);
master_add_node
---------------------------------------------------------------------

View File

@ -779,7 +779,8 @@ ALTER SYSTEM SET citus.metadata_sync_interval TO DEFAULT;
ALTER SYSTEM SET citus.metadata_sync_retry_interval TO DEFAULT;
SELECT pg_reload_conf();
UPDATE pg_dist_node SET metadatasynced=true WHERE nodeport=:worker_1_port;
-- make sure that all the nodes have valid metadata before moving forward
SELECT wait_until_metadata_sync(60000);
SELECT master_add_node('localhost', :worker_2_port);