From 3d828bc7b64976a1012ccf740e010d7f757674c4 Mon Sep 17 00:00:00 2001 From: Burak Velioglu Date: Sat, 18 Dec 2021 20:25:09 +0300 Subject: [PATCH] Sync metadata first before propagating any --- .../distributed/metadata/node_metadata.c | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/src/backend/distributed/metadata/node_metadata.c b/src/backend/distributed/metadata/node_metadata.c index f56480faf..fed6331fe 100644 --- a/src/backend/distributed/metadata/node_metadata.c +++ b/src/backend/distributed/metadata/node_metadata.c @@ -1134,12 +1134,6 @@ ActivateNode(char *nodeName, int nodePort) { bool isActive = true; - CheckCitusVersion(ERROR); - EnsureCoordinator(); - EnsureModificationsCanRun(); - - EnsureSequentialModeMetadataOperations(); - /* take an exclusive lock on pg_dist_node to serialize pg_dist_node changes */ LockRelationOid(DistNodeRelationId(), ExclusiveLock); @@ -1169,16 +1163,15 @@ ActivateNode(char *nodeName, int nodePort) BoolGetDatum(isActive)); } - UseCoordinatedTransaction(); - - ClearDistributedObjectsWithMetadataFromNode(workerNode); - SetUpDistributedTableWithDependencies(workerNode); - SetUpMultipleDistributedTableIntegrations(workerNode); - SetUpObjectMetadata(workerNode); - if (syncMetadata) { StartMetadataSyncToNode(nodeName, nodePort); + + // TODO: Consider calling function below according to state + ClearDistributedObjectsWithMetadataFromNode(workerNode); + SetUpDistributedTableWithDependencies(workerNode); + SetUpMultipleDistributedTableIntegrations(workerNode); + SetUpObjectMetadata(workerNode); } /* finally, let all other active metadata nodes to learn about this change */