diff --git a/src/backend/distributed/commands/dependencies.c b/src/backend/distributed/commands/dependencies.c index 628f18802..50a6d4421 100644 --- a/src/backend/distributed/commands/dependencies.c +++ b/src/backend/distributed/commands/dependencies.c @@ -392,7 +392,8 @@ ReplicateAllDependenciesToNode(const char *nodeName, int nodePort) } /* since we are executing ddl commands lets disable propagation, primarily for mx */ - ddlCommands = list_make3(DISABLE_DDL_PROPAGATION, ddlCommands, ENABLE_DDL_PROPAGATION); + ddlCommands = lcons(DISABLE_DDL_PROPAGATION, ddlCommands); + ddlCommands = lappend(ddlCommands, ENABLE_DDL_PROPAGATION); SendMetadataCommandListToWorkerInCoordinatedTransaction(nodeName, nodePort, CitusExtensionOwnerName(), ddlCommands); } diff --git a/src/backend/distributed/connection/connection_management.c b/src/backend/distributed/connection/connection_management.c index dc53cdda5..cc05bbaa4 100644 --- a/src/backend/distributed/connection/connection_management.c +++ b/src/backend/distributed/connection/connection_management.c @@ -1459,6 +1459,8 @@ ShouldShutdownConnection(MultiConnection *connection, const int cachedConnection bool IsCitusInitiatedRemoteBackend(void) { + elog(WARNING, "IsCitusInitiatedRemoteBackend"); + elog(WARNING, "Application name is %s", application_name); return application_name && strcmp(application_name, CITUS_APPLICATION_NAME) == 0; } diff --git a/src/backend/distributed/metadata/metadata_sync.c b/src/backend/distributed/metadata/metadata_sync.c index 323c419bc..87dd6556b 100644 --- a/src/backend/distributed/metadata/metadata_sync.c +++ b/src/backend/distributed/metadata/metadata_sync.c @@ -207,8 +207,6 @@ StartMetadataSyncToNode(const char *nodeNameString, int32 nodePort) return; } - UseCoordinatedTransaction(); - /* * One would normally expect to set hasmetadata first, and then metadata sync. * However, at this point we do the order reverse. diff --git a/src/backend/distributed/metadata/node_metadata.c b/src/backend/distributed/metadata/node_metadata.c index b659f144b..f56480faf 100644 --- a/src/backend/distributed/metadata/node_metadata.c +++ b/src/backend/distributed/metadata/node_metadata.c @@ -650,11 +650,12 @@ SetUpMultipleDistributedTableIntegrations(WorkerNode *workerNode) } char *currentUser = CurrentUserName(); - List *commandList = list_make3(DISABLE_DDL_PROPAGATION, multipleTableIntegrationCommandList, ENABLE_DDL_PROPAGATION); + multipleTableIntegrationCommandList = lcons(DISABLE_DDL_PROPAGATION, multipleTableIntegrationCommandList); + multipleTableIntegrationCommandList = lappend(multipleTableIntegrationCommandList, ENABLE_DDL_PROPAGATION); SendMetadataCommandListToWorkerInCoordinatedTransaction(workerNode->workerName, workerNode->workerPort, currentUser, - commandList); + multipleTableIntegrationCommandList); } @@ -712,13 +713,14 @@ SetUpObjectMetadata(WorkerNode *workerNode) distributedObjectSyncCommandList); } - List *metadataSnapshotCommands = list_make3(DISABLE_DDL_PROPAGATION, metadataSnapshotCommandList, ENABLE_DDL_PROPAGATION); + metadataSnapshotCommandList = lcons(DISABLE_DDL_PROPAGATION, metadataSnapshotCommandList); + metadataSnapshotCommandList = lappend(metadataSnapshotCommandList, ENABLE_DDL_PROPAGATION); char *currentUser = CurrentUserName(); SendMetadataCommandListToWorkerInCoordinatedTransaction(workerNode->workerName, workerNode->workerPort, currentUser, - metadataSnapshotCommands); + metadataSnapshotCommandList); } @@ -824,43 +826,19 @@ ClearDistributedObjectsWithMetadataFromNode(WorkerNode *workerNode) clearDistTableInfoCommandList = list_concat(clearDistTableInfoCommandList, detachPartitionCommandList); - /* iterate over the commands and execute them in the same connection */ - const char *commandString = NULL; - foreach_ptr(commandString, clearDistTableInfoCommandList) - { - elog(WARNING, "Current command 1 is %s", commandString); - } - clearDistTableInfoCommandList = lappend(clearDistTableInfoCommandList, REMOVE_ALL_CLUSTERED_TABLES_COMMAND); - commandString = NULL; - foreach_ptr(commandString, clearDistTableInfoCommandList) - { - elog(WARNING, "Current command 2 is %s", commandString); - } clearDistTableInfoCommandList = lappend(clearDistTableInfoCommandList, DELETE_ALL_DISTRIBUTED_OBJECTS); - - commandString = NULL; - foreach_ptr(commandString, clearDistTableInfoCommandList) - { - elog(WARNING, "Current command 3 is %s", commandString); - } clearDistTableInfoCommandList = list_concat(list_make1(DISABLE_DDL_PROPAGATION),clearDistTableInfoCommandList); clearDistTableInfoCommandList = list_concat(clearDistTableInfoCommandList, list_make1(ENABLE_DDL_PROPAGATION)); - commandString = NULL; - foreach_ptr(commandString, clearDistTableInfoCommandList) - { - elog(WARNING, "Current command 3 is %s", commandString); - } - char *currentUser = CurrentUserName(); SendMetadataCommandListToWorkerInCoordinatedTransaction(workerNode->workerName, workerNode->workerPort, currentUser, - clearDistTableCommands); + clearDistTableInfoCommandList); } @@ -943,7 +921,8 @@ PropagateNodeWideObjects(WorkerNode *newWorkerNode) if (list_length(ddlCommands) > 0) { /* if there are command wrap them in enable_ddl_propagation off */ - ddlCommands = list_make3(DISABLE_DDL_PROPAGATION, ddlCommands, ENABLE_DDL_PROPAGATION); + ddlCommands = lcons(DISABLE_DDL_PROPAGATION, ddlCommands); + ddlCommands = lappend(ddlCommands, ENABLE_DDL_PROPAGATION); /* send commands to new workers*/ SendMetadataCommandListToWorkerInCoordinatedTransaction(newWorkerNode->workerName, @@ -1246,8 +1225,7 @@ DetachPartitionCommandList(void) return NIL; } - detachPartitionCommandList = - lcons(DISABLE_DDL_PROPAGATION, detachPartitionCommandList); + detachPartitionCommandList = lcons(DISABLE_DDL_PROPAGATION, detachPartitionCommandList); /* * We probably do not need this but as an extra precaution, we are enabling diff --git a/src/backend/distributed/transaction/backend_data.c b/src/backend/distributed/transaction/backend_data.c index 26d853507..0473625fd 100644 --- a/src/backend/distributed/transaction/backend_data.c +++ b/src/backend/distributed/transaction/backend_data.c @@ -907,12 +907,14 @@ MyBackendGotCancelledDueToDeadlock(bool clearState) bool MyBackendIsInDisributedTransaction(void) { + elog(WARNING, "MyBackendIsInDisributedTransaction 1"); /* backend might not have used citus yet and thus not initialized backend data */ if (!MyBackendData) { return false; } + elog(WARNING, "MyBackendIsInDisributedTransaction 2"); return IsInDistributedTransaction(MyBackendData); }