Do not send metadata changes during add node if citus.enable_metadata_sync is set to false

(cherry picked from commit 7157152f6c)
release-11.0-onder-30-may
Onder Kalaci 2022-05-30 12:25:19 +02:00
parent d147d5d0c5
commit 3227d6551e
1 changed files with 25 additions and 17 deletions

View File

@ -1899,12 +1899,15 @@ RemoveNodeFromCluster(char *nodeName, int32 nodePort)
RemoveOldShardPlacementForNodeGroup(workerNode->groupId); RemoveOldShardPlacementForNodeGroup(workerNode->groupId);
char *nodeDeleteCommand = NodeDeleteCommand(workerNode->nodeId);
/* make sure we don't have any lingering session lifespan connections */ /* make sure we don't have any lingering session lifespan connections */
CloseNodeConnectionsAfterTransaction(workerNode->workerName, nodePort); CloseNodeConnectionsAfterTransaction(workerNode->workerName, nodePort);
if (EnableMetadataSync)
{
char *nodeDeleteCommand = NodeDeleteCommand(workerNode->nodeId);
SendCommandToWorkersWithMetadata(nodeDeleteCommand); SendCommandToWorkersWithMetadata(nodeDeleteCommand);
}
} }
@ -2155,6 +2158,8 @@ AddNodeMetadata(char *nodeName, int32 nodePort,
workerNode = FindWorkerNodeAnyCluster(nodeName, nodePort); workerNode = FindWorkerNodeAnyCluster(nodeName, nodePort);
if (EnableMetadataSync)
{
/* send the delete command to all primary nodes with metadata */ /* send the delete command to all primary nodes with metadata */
char *nodeDeleteCommand = NodeDeleteCommand(workerNode->nodeId); char *nodeDeleteCommand = NodeDeleteCommand(workerNode->nodeId);
SendCommandToWorkersWithMetadata(nodeDeleteCommand); SendCommandToWorkersWithMetadata(nodeDeleteCommand);
@ -2168,6 +2173,7 @@ AddNodeMetadata(char *nodeName, int32 nodePort,
SendCommandToWorkersWithMetadata(nodeInsertCommand); SendCommandToWorkersWithMetadata(nodeInsertCommand);
} }
}
return workerNode->nodeId; return workerNode->nodeId;
} }
@ -2185,11 +2191,13 @@ SetWorkerColumn(WorkerNode *workerNode, int columnIndex, Datum value)
{ {
workerNode = SetWorkerColumnLocalOnly(workerNode, columnIndex, value); workerNode = SetWorkerColumnLocalOnly(workerNode, columnIndex, value);
char *metadataSyncCommand = GetMetadataSyncCommandToSetNodeColumn(workerNode, if (EnableMetadataSync)
columnIndex, {
value); char *metadataSyncCommand =
GetMetadataSyncCommandToSetNodeColumn(workerNode, columnIndex, value);
SendCommandToWorkersWithMetadata(metadataSyncCommand); SendCommandToWorkersWithMetadata(metadataSyncCommand);
}
return workerNode; return workerNode;
} }