Revert replica identity thing

revert-shard-rebalancer-changes
Jelte Fennema 2022-09-22 17:05:35 +02:00
parent ecaa0cda6d
commit 141e9315ff
1 changed files with 15 additions and 14 deletions

View File

@ -234,6 +234,21 @@ LogicallyReplicateShards(List *shardList, char *sourceNodeName, int sourceNodePo
/* only useful for isolation testing, see the function comment for the details */
ConflictOnlyWithIsolationTesting();
/*
* We have to create the primary key (or any other replica identity)
* before the update/delete operations that are queued will be
* replicated. Because if the replica identity does not exist on the
* target, the replication would fail.
*
* So we it right after the initial data COPY, but before enabling the
* susbcriptions. We do it at this latest possible moment, because its
* much cheaper to build an index at once than to create it
* incrementally. So this way we create the primary key index in one go
* for all data from the initial COPY.
*/
CreateReplicaIdentities(logicalRepTargetList);
CopyShardsToNode(sourceNode, targetNode, shardList, snapshot);
/*
@ -347,20 +362,6 @@ CompleteNonBlockingShardTransfer(List *shardList,
HTAB *groupedLogicalRepTargetsHash,
LogicalRepType type)
{
/*
* We have to create the primary key (or any other replica identity)
* before the update/delete operations that are queued will be
* replicated. Because if the replica identity does not exist on the
* target, the replication would fail.
*
* So we it right after the initial data COPY, but before enabling the
* susbcriptions. We do it at this latest possible moment, because its
* much cheaper to build an index at once than to create it
* incrementally. So this way we create the primary key index in one go
* for all data from the initial COPY.
*/
CreateReplicaIdentities(logicalRepTargetList);
/* Start applying the changes from the replication slots to catch up. */
EnableSubscriptions(logicalRepTargetList);