From ee69a5a0b5078daa101fc80994885a32a7217077 Mon Sep 17 00:00:00 2001 From: Burak Velioglu Date: Thu, 27 Jan 2022 13:16:43 +0300 Subject: [PATCH] Add ensure no modification back --- src/backend/distributed/metadata/metadata_sync.c | 3 +-- src/backend/distributed/metadata/node_metadata.c | 1 + src/include/distributed/metadata_sync.h | 1 + 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/backend/distributed/metadata/metadata_sync.c b/src/backend/distributed/metadata/metadata_sync.c index 29316d26b..b3c14c8ae 100644 --- a/src/backend/distributed/metadata/metadata_sync.c +++ b/src/backend/distributed/metadata/metadata_sync.c @@ -83,7 +83,6 @@ char *EnableManualMetadataChangesForUser = ""; -static void EnsureSequentialModeMetadataOperations(void); static List * CitusTableMetadataCreateCommandList(Oid relationId); static void EnsureObjectMetadataIsSane(int distributionArgumentIndex, int colocationId); @@ -276,7 +275,7 @@ SyncCitusTableMetadata(Oid relationId) * visible on all connections used by the transaction, meaning we can only use 1 * connection per node. */ -static void +void EnsureSequentialModeMetadataOperations(void) { if (!IsTransactionBlock()) diff --git a/src/backend/distributed/metadata/node_metadata.c b/src/backend/distributed/metadata/node_metadata.c index 127755411..0b09bc86f 100644 --- a/src/backend/distributed/metadata/node_metadata.c +++ b/src/backend/distributed/metadata/node_metadata.c @@ -798,6 +798,7 @@ SyncObjectDependenciesToNode(WorkerNode *workerNode) return; } + EnsureSequentialModeMetadataOperations(); Assert(ShouldPropagate()); List *commandList = SyncObjectDependenciesCommandList(workerNode); diff --git a/src/include/distributed/metadata_sync.h b/src/include/distributed/metadata_sync.h index 31e631790..77c85b791 100644 --- a/src/include/distributed/metadata_sync.h +++ b/src/include/distributed/metadata_sync.h @@ -31,6 +31,7 @@ typedef enum /* Functions declarations for metadata syncing */ extern void SyncNodeMetadataToNode(const char *nodeNameString, int32 nodePort); extern void SyncCitusTableMetadata(Oid relationId); +extern void EnsureSequentialModeMetadataOperations(void); extern bool ClusterHasKnownMetadataWorkers(void); extern char * LocalGroupIdUpdateCommand(int32 groupId); extern bool ShouldSyncTableMetadata(Oid relationId);