apache/dolphinscheduler · error
WORKFLOW_INSTANCE_EXECUTING_COMMAND
WORKFLOW_INSTANCE_EXECUTING_COMMAND
Error message
workflow instance is executing the command, workflowDefinitionCode:{}, workflowDefinitionVersion:{}, workflowInstanceId:{}. What it means
A concurrency guard in ExecutorServiceImpl.executeTask: the target workflow instance is currently executing a command (an active Command row references it), so a new EXECUTE_TASK command would race the running one and corrupt state — the request is rejected instead. The message names the workflow definition code/version and instance id; it is a transient state conflict, not a data corruption.
Source
Thrown at dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ExecutorServiceImpl.java:340
// To add startParams only when repeat running is needed
Map<String, Object> cmdParam = new HashMap<>();
cmdParam.put(CMD_PARAM_RECOVER_WORKFLOW_ID_STRING, workflowInstanceId);
// Add StartNodeList
cmdParam.put(CMD_PARAM_START_NODES, startNodeList);
Command command = new Command();
command.setCommandType(CommandType.EXECUTE_TASK);
command.setWorkflowDefinitionCode(workflowDefinition.getCode());
command.setCommandParam(JSONUtils.toJsonString(cmdParam));
command.setExecutorId(loginUser.getId());
command.setWorkflowDefinitionVersion(workflowDefinition.getVersion());
command.setWorkflowInstanceId(workflowInstanceId);
// Add taskDependType
command.setTaskDependType(taskDependType);
if (!commandService.verifyIsNeedCreateCommand(command)) {
log.warn(
"workflow instance is executing the command, workflowDefinitionCode:{}, workflowDefinitionVersion:{}, workflowInstanceId:{}.",
workflowDefinition.getCode(), workflowDefinition.getVersion(), workflowInstanceId);
putMsg(response, Status.WORKFLOW_INSTANCE_EXECUTING_COMMAND,
String.valueOf(workflowDefinition.getCode()));
return response;
}
log.info("Creating command, commandInfo:{}.", command);
int create = commandService.createCommand(command);
if (create > 0) {
log.info("Create {} command complete, workflowDefinitionCode:{}, workflowDefinitionVersion:{}.",
command.getCommandType().getDescp(), command.getWorkflowDefinitionCode(),
workflowDefinition.getVersion());
putMsg(response, Status.SUCCESS);
} else {
log.error(
"Execute workflow instance failed because create {} command error, workflowDefinitionCode:{}, workflowDefinitionVersion:{}, workflowInstanceId:{}.",View on GitHub (pinned to 02eac45a1b)
Solutions
- Retry after the in-flight command for the instance completes (poll instance state)
- Stop or wait for the running execution before triggering task-level execution again
- If no command is actually running, check for orphaned rows in t_ds_command referencing the instance and clean them
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ExecutorServiceImpl.java:340 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of apache/dolphinscheduler@02eac45a1b (2026-09-06).
Data as JSON: /api/errors/add22d0cee2ee341.
Report an issue: GitHub.