From 20a887b951f106eb5a16cfdec5be20b6da991f82 Mon Sep 17 00:00:00 2001 From: EmelSimsek Date: Mon, 11 Mar 2024 16:57:26 +0300 Subject: [PATCH] Revert "Rename per worker" This reverts commit c48bf5ebaac852b48d5435f14399c183a3c4303a. --- .../distributed/operations/shard_rebalancer.c | 2 +- .../utils/multi_partitioning_utils.c | 70 +++++++------------ src/include/distributed/shard_rebalancer.h | 2 - 3 files changed, 28 insertions(+), 46 deletions(-) diff --git a/src/backend/distributed/operations/shard_rebalancer.c b/src/backend/distributed/operations/shard_rebalancer.c index 1d1119f7461..03dc4c1b84e 100644 --- a/src/backend/distributed/operations/shard_rebalancer.c +++ b/src/backend/distributed/operations/shard_rebalancer.c @@ -436,7 +436,7 @@ BigIntArrayDatumContains(Datum *array, int arrayLength, uint64 toFind) * FullShardPlacementList returns a List containing all the shard placements of * a specific table (excluding the excludedShardArray) */ -List * +static List * FullShardPlacementList(Oid relationId, ArrayType *excludedShardArray) { List *shardPlacementList = NIL; diff --git a/src/backend/distributed/utils/multi_partitioning_utils.c b/src/backend/distributed/utils/multi_partitioning_utils.c index 13ecdab68fb..b70711cbc9d 100644 --- a/src/backend/distributed/utils/multi_partitioning_utils.c +++ b/src/backend/distributed/utils/multi_partitioning_utils.c @@ -50,7 +50,10 @@ #include "distributed/version_compat.h" #include "distributed/worker_protocol.h" +<<<<<<< HEAD extern List * FullShardPlacementList(Oid relationId, ArrayType *excludedShardArray); +======= +>>>>>>> parent of c48bf5eba (Rename per worker) static char * PartitionBound(Oid partitionId); static Relation try_relation_open_nolock(Oid relationId); static List * CreateFixPartitionConstraintsTaskList(Oid relationId); @@ -556,62 +559,43 @@ CreateFixPartitionShardIndexNames(Oid parentRelationId, Oid partitionRelationId, /* lock metadata before getting placement lists */ LockShardListMetadata(parentShardIntervalList, ShareLock); - int taskId = 1; - - List *shardPlacementList = FullShardPlacementList(parentRelationId, - construct_empty_array(INT4OID)); - - - List *workerNodeList = ReadDistNode(true); - - /* make sure we have deterministic output for our tests */ - workerNodeList = SortList(workerNodeList, CompareWorkerNodes); - MemoryContext localContext = AllocSetContextCreate(CurrentMemoryContext, "CreateFixPartitionShardIndexNames", ALLOCSET_DEFAULT_SIZES); MemoryContext oldContext = MemoryContextSwitchTo(localContext); - WorkerNode *workerNode = NULL; - foreach_ptr(workerNode, workerNodeList) - { - List *shardsOnNode = FilterActiveShardPlacementListByNode( - shardPlacementList, workerNode); + int taskId = 1; - ShardPlacement *shardPlacement = NULL; + ShardInterval *parentShardInterval = NULL; + foreach_ptr(parentShardInterval, parentShardIntervalList) + { + uint64 parentShardId = parentShardInterval->shardId; - foreach_ptr(shardPlacement, shardsOnNode) + List *queryStringList = + WorkerFixPartitionShardIndexNamesCommandList(parentShardId, + parentIndexIdList, + partitionRelationId); + if (queryStringList != NIL) { - uint64 parentShardId = shardPlacement->shardId; - - List *queryStringList = - WorkerFixPartitionShardIndexNamesCommandList(parentShardId, - parentIndexIdList, - partitionRelationId); - if (queryStringList != NIL) - { - Task *task = CitusMakeNode(Task); - task->jobId = INVALID_JOB_ID; - task->taskId = taskId++; - task->taskType = DDL_TASK; + Task *task = CitusMakeNode(Task); + task->jobId = INVALID_JOB_ID; + task->taskId = taskId++; + task->taskType = DDL_TASK; - char *prefix = "SELECT pg_catalog.citus_run_local_command($$"; - char *postfix = "$$)"; - char *string = StringJoinParams(queryStringList, ';', prefix, postfix); + char *prefix = "SELECT pg_catalog.citus_run_local_command($$"; + char *postfix = "$$)"; + char *string = StringJoinParams(queryStringList, ';', prefix, postfix); - SetTaskQueryString(task, string); + SetTaskQueryString(task, string); - task->dependentTaskList = NULL; - task->replicationModel = REPLICATION_MODEL_INVALID; - task->anchorShardId = parentShardId; - task->taskPlacementList = ActiveShardPlacementList(parentShardId); + task->dependentTaskList = NULL; + task->replicationModel = REPLICATION_MODEL_INVALID; + task->anchorShardId = parentShardId; + task->taskPlacementList = ActiveShardPlacementList(parentShardId); - bool localExecutionSupported = true; - ExecuteUtilityTaskList(list_make1(task), localExecutionSupported); - } - - break; + bool localExecutionSupported = true; + ExecuteUtilityTaskList(list_make1(task), localExecutionSupported); } /* after every iteration, clean-up all the memory associated with it */ diff --git a/src/include/distributed/shard_rebalancer.h b/src/include/distributed/shard_rebalancer.h index 16d12728c53..79414eb3c88 100644 --- a/src/include/distributed/shard_rebalancer.h +++ b/src/include/distributed/shard_rebalancer.h @@ -222,6 +222,4 @@ extern void SetupRebalanceMonitor(List *placementUpdateList, uint64 initialProgressState, PlacementUpdateStatus initialStatus); -extern List * FullShardPlacementList(Oid relationId, ArrayType *excludedShardArray); - #endif /* SHARD_REBALANCER_H */