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

  1. Send a supported executeType value for the control endpoint (e.g. REPEAT_RUNNING, RECOVER_SUSPENDED_PROCESS, PAUSE, STOP).
  2. Check client/server version alignment so enum values match.
  3. 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

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


AI-assisted analysis of apache/dolphinscheduler@02eac45a1b (2026-09-06). Data as JSON: /api/errors/3b61d2f745b85e0d. Report an issue: GitHub.