From ac29dbabf49596fa5a93845d3c38bb9ee7f18406 Mon Sep 17 00:00:00 2001 From: Nitish Upreti Date: Wed, 22 Jun 2022 15:01:00 -0700 Subject: [PATCH] Hello World shard split works --- .../distributed/operations/citus_split_shard_by_split_points.c | 3 +-- src/backend/distributed/operations/shard_split.c | 3 ++- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/distributed/operations/citus_split_shard_by_split_points.c b/src/backend/distributed/operations/citus_split_shard_by_split_points.c index f9a802858..751539485 100644 --- a/src/backend/distributed/operations/citus_split_shard_by_split_points.c +++ b/src/backend/distributed/operations/citus_split_shard_by_split_points.c @@ -50,8 +50,7 @@ citus_split_shard_by_split_points(PG_FUNCTION_ARGS) INT4OID); ArrayType *nodeIdsArrayObject = PG_GETARG_ARRAYTYPE_P(2); - List *nodeIdsForPlacementList = TextArrayTypeToIntegerList(nodeIdsArrayObject, - INT4OID); + List *nodeIdsForPlacementList = IntegerArrayTypeToList(nodeIdsArrayObject); Oid shardSplitModeOid = PG_GETARG_OID(3); SplitMode shardSplitMode = LookupSplitMode(shardSplitModeOid); diff --git a/src/backend/distributed/operations/shard_split.c b/src/backend/distributed/operations/shard_split.c index 1680ebe0c..dc03c35b1 100644 --- a/src/backend/distributed/operations/shard_split.c +++ b/src/backend/distributed/operations/shard_split.c @@ -407,7 +407,8 @@ BlockingShardSplit(SplitOperation splitOperation, /* Only single placement allowed (already validated by caller) */ List *sourcePlacementList = ActiveShardPlacementList(shardIntervalToSplit->shardId); Assert(sourcePlacementList->length == 1); - WorkerNode *sourceShardToCopyNode = (WorkerNode *) linitial(sourcePlacementList); + ShardPlacement *sourceShardPlacement = (ShardPlacement *) linitial(sourcePlacementList); + WorkerNode *sourceShardToCopyNode = FindNodeWithNodeId(sourceShardPlacement->nodeId, false /* missingOk */); /* Physically create split children and perform split copy */ List *splitOffShardList = NULL;