diff --git a/src/backend/distributed/commands/multi_copy.c b/src/backend/distributed/commands/multi_copy.c index 4f18d806c..0c0e889bf 100644 --- a/src/backend/distributed/commands/multi_copy.c +++ b/src/backend/distributed/commands/multi_copy.c @@ -380,14 +380,15 @@ CitusCopyFrom(CopyStmt *copyStatement, char *completionTag) shardConnections = (ShardConnections *) hash_seq_search(&status); while (shardConnections != NULL) { + List *shardConnectionsList = list_copy(shardConnections->connectionList); + connectionList = list_concat(connectionList, shardConnectionsList); + BuildCopyBinaryFooters(copyOutState); SendCopyDataToPlacements(copyOutState->fe_msgbuf, shardConnections); shardConnections = (ShardConnections *) hash_seq_search(&status); } - connectionList = ConnectionList(shardConnectionHash); - EndRemoteCopy(connectionList, true); if (CopyTransactionManager == TRANSACTION_MANAGER_2PC)