Class TaskPartitionGreedyLeaderRebalancer
java.lang.Object
io.debezium.connector.spanner.task.leader.rebalancer.TaskPartitionGreedyLeaderRebalancer
- All Implemented Interfaces:
TaskPartitionRebalancer
This task contains the functionality to rebalance change stream partitions from obsolete tasks
to survived tasks after a rebalance event.
Leader takes everything.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncollectPartitionTokens(TaskState taskState) excludeLeader(String leaderTaskUid, Map<String, TaskState> tasks) private List<PartitionState>filterDuplications(List<PartitionState> partitionStates) private TaskStatemoveFinishedPartitionsFromObsoleteTasks(TaskState leaderTaskState, Map<String, TaskState> obsoleteTasks) private TaskStatemovePartitionsFromObsoleteTasks(TaskState leaderTaskState, Map<String, TaskState> obsoleteTasks) private TaskStatemoveSharedPartitionsFromObsoleteTasks(TaskState leaderTaskState, Map<String, TaskState> survivedTasks, Map<String, TaskState> obsoleteTasks) rebalance(TaskState leaderTaskState, Map<String, TaskState> survivedTasks, Map<String, TaskState> obsoleteTaskStates) private TaskStatetakeSharedPartitionsFromSurvivedTasks(TaskState leaderTaskState, Map<String, TaskState> survivedTasks)
-
Constructor Details
-
TaskPartitionGreedyLeaderRebalancer
public TaskPartitionGreedyLeaderRebalancer()
-
-
Method Details
-
rebalance
public TaskState rebalance(TaskState leaderTaskState, Map<String, TaskState> survivedTasks, Map<String, TaskState> obsoleteTaskStates) - Specified by:
rebalancein interfaceTaskPartitionRebalancer
-
excludeLeader
-
movePartitionsFromObsoleteTasks
-
moveFinishedPartitionsFromObsoleteTasks
-
filterDuplications
-
collectPartitionTokens
-