Principle:Apache Dolphinscheduler Task Reassignment
| Knowledge Sources | |
|---|---|
| Domains | Distributed_Systems, Fault_Tolerance |
| Last Updated | 2026-02-10 00:00 GMT |
Overview
A task reassignment mechanism that migrates in-flight tasks from a failed worker to healthy workers within the same worker group, maintaining execution continuity.
Description
The Task Reassignment principle defines how tasks running on a crashed worker are recovered and re-dispatched. When a worker fails, the FailoverCoordinator identifies all tasks assigned to that worker using the ITaskExecutionRunnable registry. Each affected task is delegated to TaskFailover which re-queues the task to WorkerGroupDispatcherCoordinator. The dispatcher then selects a healthy worker from the same worker group using its load balancer, ensuring the task runs on an appropriate node.
Usage
Automatically triggered as part of worker failover processing. Tasks are re-dispatched to the same worker group they were originally assigned to.
Theoretical Basis
Task reassignment follows a Migration Pattern:
doWorkerFailover(workerAddress):
tasks = getTasksOnWorker(workerAddress)
for task in tasks:
taskFailover.failoverTask(task)
// TaskFailover re-queues to WorkerGroupDispatcherCoordinator
// which selects a new healthy worker from the same group