apache/dolphinscheduler · error · ServiceException
Unsupported executeType: {0}
Error message
Unsupported executeType: {0} What it means
This plain ServiceException is thrown by controlWorkflowInstance when the executeType received in a control (repeat/pause/stop) request falls outside the known switch cases. It means the caller supplied an executeType value the current code cannot handle, typically from an unexpected or mismatched client value.
Source
Thrown at dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ExecutorServiceImpl.java:264
executorClient.recoverSuspendedWorkflowInstanceOperation()
.onWorkflowInstance(workflowInstance)
.byUser(loginUser)
.execute();
return;
case PAUSE:
executorClient.pauseWorkflowInstance()
.onWorkflowInstance(workflowInstance)
.byUser(loginUser)
.execute();
return;
case STOP:
executorClient.stopWorkflowInstance()
.onWorkflowInstance(workflowInstance)
.byUser(loginUser)
.execute();
return;
default:
throw new ServiceException("Unsupported executeType: " + executeType);
}
}
/**
* do action to execute task in workflow instance
*
* @param loginUser login user
* @param projectCode project code
* @param workflowInstanceId workflow instance id
* @param startNodeList start node list
* @param taskDependType task depend type
* @return execute result code
*/
@Override
public WorkflowExecuteResponse executeTask(User loginUser,
long projectCode,
Integer workflowInstanceId,
String startNodeList,View on GitHub (pinned to 02eac45a1b)
Solutions
- Send a supported executeType value for the control endpoint (e.g. REPEAT_RUNNING, RECOVER_SUSPENDED_PROCESS, PAUSE, STOP).
- Check client/server version alignment so enum values match.
- Inspect the request body and correct the executeType field.
Example fix
// before
execute("RESTART", instanceId); // unsupported value
// after
execute("REPEAT_RUNNING", instanceId); Defensive patterns
Strategy: validation
Validate before calling
Set<String> supported = Set.of("REPEAT_RUNNING","RECOVER_SUSPENDED_PROCESS","PAUSE","STOP");
if (!supported.contains(executeType)) throw new IllegalArgumentException("unsupported executeType: " + executeType); Try / catch
try { controlWorkflowInstance(loginUser, instanceId, executeType); } catch (ServiceException e) { if (e.getMessage().startsWith("Unsupported executeType")) { /* correct the executeType value and resend */ } else throw e; } Prevention
- Use the enum/constant defined by the server, not raw strings.
- Keep client and server versions aligned.
- Validate request payloads against the API schema before sending.
When it happens
Trigger: Posting to the workflow instance control endpoint with an executeType not covered by the switch (anything other than the handled repeat-running / recover-suspended / pause / stop cases), e.g. a malformed or newer enum value.
Common situations: Older/newer client versions sending an executeType value added after this switch was written; manual API calls with a wrong or misspelled executeType string.
Understand the failure class
Background: Invalid enum value errors: "Unknown type", "Invalid scope", "must be one of" — when a string is not on the library's allowed list — this error's family across 23 libraries.
Related errors
- no master server available
- Backfill workflow failed: %s
- The workflow instance: %s status is %s, can not pause
- WorkflowInstance: %s pause failed: %s
- WorkflowInstance: %s pause failed
AI-assisted analysis of apache/dolphinscheduler@02eac45a1b (2026-09-06).
Data as JSON: /api/errors/3b61d2f745b85e0d.
Report an issue: GitHub.