apache/dolphinscheduler · error · TaskPauseException
"Pause task: " + taskExecution.getName() + " from executor f
Error message
"Pause task: " + taskExecution.getName() + " from executor failed"
What it means
Thrown as TaskPauseException when a request to pause a running task on its executor fails. TaskExecutorClient.pause delegates to the executor client delegator; any exception during the RPC is wrapped with the task name in this message. The master's pause workflow request could not be delivered or accepted.
Source
Thrown at dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/engine/task/client/TaskExecutorClient.java:80
@Override
public boolean reassignWorkflowInstanceHost(final ITaskExecution taskExecution) throws TaskReassignMasterHostException {
try {
return getTaskExecutorClientDelegator(taskExecution)
.reassignMasterHost(taskExecution);
} catch (Exception ex) {
throw new TaskReassignMasterHostException(
"Take over task: " + taskExecution.getName() + " from executor failed",
ex);
}
}
@Override
public void pause(final ITaskExecution taskExecution) throws TaskPauseException {
try {
getTaskExecutorClientDelegator(taskExecution).pause(taskExecution);
} catch (Exception ex) {
throw new TaskPauseException("Pause task: " + taskExecution.getName() + " from executor failed",
ex);
}
}
@Override
public void kill(final ITaskExecution taskExecution) throws TaskKillException {
try {
getTaskExecutorClientDelegator(taskExecution).kill(taskExecution);
} catch (Exception ex) {
throw new TaskKillException("Kill task: " + taskExecution.getName() + " from executor failed", ex);
}
}
@Override
public void ackTaskExecutorLifecycleEvent(
final ITaskExecution taskExecution,
final ITaskExecutorLifecycleEventReporter.TaskExecutorLifecycleEventAck taskExecutorLifecycleEventAck) {
try {View on GitHub (pinned to 02eac45a1b)
Solutions
- Inspect the cause of TaskPauseException to see whether it is connectivity or executor-side rejection.
- Verify the worker/executor hosting the task is alive and reachable.
- Retry the pause operation after connectivity is restored; alternatively kill and restart the workflow.
- Check worker-group/address configuration in the workflow definition.
Example fix
// before
try { client.pause(taskExecution); } catch (Exception e) { log.error("pause failed", e); }
// after
try {
client.pause(taskExecution);
} catch (TaskPauseException e) {
log.error("Pause of task {} failed: {}", taskExecution.getName(), e.getCause().getMessage());
alertService.notifyOperator(taskExecution.getName(), e);
} Defensive patterns
Strategy: try-catch
Validate before calling
// verify worker is alive before pausing
if (!registryClient.checkNodeExists(taskExecution.getHost(), NodeType.WORKER)) {
throw new IllegalStateException("Worker " + taskExecution.getHost() + " is down; pause will fail");
} Try / catch
try {
client.pause(taskExecution);
} catch (TaskPauseException e) {
log.error("Pause of {} failed: {}", taskExecution.getName(), e.getCause().getMessage());
} Prevention
- Check worker liveness in the registry before issuing pause.
- Set sensible RPC timeouts so pauses fail fast instead of hanging.
- Alert on worker outages so users pause workflows only when workers are healthy.
When it happens
Trigger: Calling pause(ITaskExecution) when the executor is unreachable, the RPC throws (timeout, connection refused, serialization error), or the delegator cannot handle the task type.
Common situations: User clicks 'pause workflow' while a worker is down or network is flaky; executor restarted mid-run; task type lacking a pause-capable delegator; firewall blocking master->worker traffic.
Related errors
- "Take over task: " + taskExecution.getName() + " from execut
- "Kill task: " + taskExecution.getName() + " from executor fa
- WorkflowInstance: %s pause failed
- WorkflowInstance: %s stop failed
- 110014
AI-assisted analysis of apache/dolphinscheduler@02eac45a1b (2026-09-06).
Data as JSON: /api/errors/8ee548b3a7f2e647.
Report an issue: GitHub.