mirror of https://github.com/citusdata/citus.git
Remove unused parameters from round robin reordering and friends (#4120)
parent
20c39fae9a
commit
f47b3a7e7d
|
@ -209,7 +209,7 @@ static List * GreedyAssignTaskList(List *taskList);
|
||||||
static Task * GreedyAssignTask(WorkerNode *workerNode, List *taskList,
|
static Task * GreedyAssignTask(WorkerNode *workerNode, List *taskList,
|
||||||
List *activeShardPlacementLists);
|
List *activeShardPlacementLists);
|
||||||
static List * ReorderAndAssignTaskList(List *taskList,
|
static List * ReorderAndAssignTaskList(List *taskList,
|
||||||
List * (*reorderFunction)(Task *, List *));
|
ReorderFunction reorderFunction);
|
||||||
static int CompareTasksByShardId(const void *leftElement, const void *rightElement);
|
static int CompareTasksByShardId(const void *leftElement, const void *rightElement);
|
||||||
static List * ActiveShardPlacementLists(List *taskList);
|
static List * ActiveShardPlacementLists(List *taskList);
|
||||||
static List * ActivePlacementList(List *placementList);
|
static List * ActivePlacementList(List *placementList);
|
||||||
|
@ -5210,7 +5210,7 @@ List *
|
||||||
FirstReplicaAssignTaskList(List *taskList)
|
FirstReplicaAssignTaskList(List *taskList)
|
||||||
{
|
{
|
||||||
/* No additional reordering need take place for this algorithm */
|
/* No additional reordering need take place for this algorithm */
|
||||||
List *(*reorderFunction)(Task *, List *) = NULL;
|
ReorderFunction reorderFunction = NULL;
|
||||||
|
|
||||||
taskList = ReorderAndAssignTaskList(taskList, reorderFunction);
|
taskList = ReorderAndAssignTaskList(taskList, reorderFunction);
|
||||||
|
|
||||||
|
@ -5237,8 +5237,8 @@ RoundRobinAssignTaskList(List *taskList)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* RoundRobinReorder implements the core of the round-robin assignment policy.
|
* RoundRobinReorder implements the core of the round-robin assignment policy.
|
||||||
* It takes a task and placement list and rotates a copy of the placement list
|
* It takes a placement list and rotates a copy of it based on the latest stable
|
||||||
* based on the latest stable transaction id provided by PostgreSQL.
|
* transaction id provided by PostgreSQL.
|
||||||
*
|
*
|
||||||
* We prefer to use transactionId as the seed for the rotation to use the replicas
|
* We prefer to use transactionId as the seed for the rotation to use the replicas
|
||||||
* in the same worker node within the same transaction. This becomes more important
|
* in the same worker node within the same transaction. This becomes more important
|
||||||
|
@ -5251,7 +5251,7 @@ RoundRobinAssignTaskList(List *taskList)
|
||||||
* where as task-assignment happens duing the planning.
|
* where as task-assignment happens duing the planning.
|
||||||
*/
|
*/
|
||||||
List *
|
List *
|
||||||
RoundRobinReorder(Task *task, List *placementList)
|
RoundRobinReorder(List *placementList)
|
||||||
{
|
{
|
||||||
TransactionId transactionId = GetMyProcLocalTransactionId();
|
TransactionId transactionId = GetMyProcLocalTransactionId();
|
||||||
uint32 activePlacementCount = list_length(placementList);
|
uint32 activePlacementCount = list_length(placementList);
|
||||||
|
@ -5270,7 +5270,7 @@ RoundRobinReorder(Task *task, List *placementList)
|
||||||
* by rotation or shuffling). Returns the task list with placements assigned.
|
* by rotation or shuffling). Returns the task list with placements assigned.
|
||||||
*/
|
*/
|
||||||
static List *
|
static List *
|
||||||
ReorderAndAssignTaskList(List *taskList, List * (*reorderFunction)(Task *, List *))
|
ReorderAndAssignTaskList(List *taskList, ReorderFunction reorderFunction)
|
||||||
{
|
{
|
||||||
List *assignedTaskList = NIL;
|
List *assignedTaskList = NIL;
|
||||||
ListCell *taskCell = NULL;
|
ListCell *taskCell = NULL;
|
||||||
|
@ -5301,7 +5301,7 @@ ReorderAndAssignTaskList(List *taskList, List * (*reorderFunction)(Task *, List
|
||||||
{
|
{
|
||||||
if (reorderFunction != NULL)
|
if (reorderFunction != NULL)
|
||||||
{
|
{
|
||||||
placementList = reorderFunction(task, placementList);
|
placementList = reorderFunction(placementList);
|
||||||
}
|
}
|
||||||
task->taskPlacementList = placementList;
|
task->taskPlacementList = placementList;
|
||||||
|
|
||||||
|
|
|
@ -1817,7 +1817,7 @@ ReorderTaskPlacementsByTaskAssignmentPolicy(Job *job,
|
||||||
placementList = RemoveCoordinatorPlacement(placementList);
|
placementList = RemoveCoordinatorPlacement(placementList);
|
||||||
|
|
||||||
/* reorder the placement list */
|
/* reorder the placement list */
|
||||||
List *reorderedPlacementList = RoundRobinReorder(task, placementList);
|
List *reorderedPlacementList = RoundRobinReorder(placementList);
|
||||||
task->taskPlacementList = reorderedPlacementList;
|
task->taskPlacementList = reorderedPlacementList;
|
||||||
|
|
||||||
ShardPlacement *primaryPlacement = (ShardPlacement *) linitial(
|
ShardPlacement *primaryPlacement = (ShardPlacement *) linitial(
|
||||||
|
|
|
@ -507,6 +507,10 @@ typedef struct OperatorCacheEntry
|
||||||
} OperatorCacheEntry;
|
} OperatorCacheEntry;
|
||||||
|
|
||||||
|
|
||||||
|
/* Named function pointer type for reordering Task lists */
|
||||||
|
typedef List *(*ReorderFunction)(List *);
|
||||||
|
|
||||||
|
|
||||||
/* Config variable managed via guc.c */
|
/* Config variable managed via guc.c */
|
||||||
extern int TaskAssignmentPolicy;
|
extern int TaskAssignmentPolicy;
|
||||||
extern bool EnableUniqueJobIds;
|
extern bool EnableUniqueJobIds;
|
||||||
|
@ -557,7 +561,7 @@ extern List * TaskListDifference(const List *list1, const List *list2);
|
||||||
extern List * AssignAnchorShardTaskList(List *taskList);
|
extern List * AssignAnchorShardTaskList(List *taskList);
|
||||||
extern List * FirstReplicaAssignTaskList(List *taskList);
|
extern List * FirstReplicaAssignTaskList(List *taskList);
|
||||||
extern List * RoundRobinAssignTaskList(List *taskList);
|
extern List * RoundRobinAssignTaskList(List *taskList);
|
||||||
extern List * RoundRobinReorder(Task *task, List *placementList);
|
extern List * RoundRobinReorder(List *placementList);
|
||||||
extern void SetPlacementNodeMetadata(ShardPlacement *placement, WorkerNode *workerNode);
|
extern void SetPlacementNodeMetadata(ShardPlacement *placement, WorkerNode *workerNode);
|
||||||
extern int CompareTasksByTaskId(const void *leftElement, const void *rightElement);
|
extern int CompareTasksByTaskId(const void *leftElement, const void *rightElement);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue