apache/dolphinscheduler · error · TaskException

Unsupported mlflow job type:

Error message

Unsupported mlflow job type: 

What it means

A switch default guard in buildCommandForMlflowProjects: mlflowParameters.getJobType() did not match any known MLflow job kind (e.g. MLFLOW_PROJECTS or AUTOML constants), so no command template can be selected. The offending input is the jobType field of the task params — typo, unset, or a value from an incompatible version; the message appends the unsupported value.

Source

Thrown at dolphinscheduler-task-plugin/dolphinscheduler-task-mlflow/src/main/java/org/apache/dolphinscheduler/plugin/task/mlflow/MlflowTask.java:202

            case MlflowConstants.JOB_TYPE_AUTOML:
                args.add(String.format(MlflowConstants.SET_DATA_PATH, mlflowParameters.getDataPath()));
                String repoAutoML = getPresetRepository() + MlflowConstants.PRESET_AUTOML_PROJECT;
                args.add(String.format(MlflowConstants.SET_REPOSITORY, repoAutoML));

                runCommand = MlflowConstants.MLFLOW_RUN_AUTOML_PROJECT;
                runCommand = String.format(runCommand, mlflowParameters.getAutomlTool(), mlflowParameters.getParams(),
                        mlflowParameters.getModelName(), mlflowParameters.getExperimentName());
                break;

            case MlflowConstants.JOB_TYPE_CUSTOM_PROJECT:
                args.add(String.format(MlflowConstants.SET_REPOSITORY, mlflowParameters.getMlflowProjectRepository()));
                runCommand = MlflowConstants.MLFLOW_RUN_CUSTOM_PROJECT;
                runCommand =
                        String.format(runCommand, mlflowParameters.getParams(), mlflowParameters.getExperimentName());
                break;

            default:
                throw new TaskException("Unsupported mlflow job type: " + mlflowParameters.getMlflowJobType());
        }

        // add version string to command if repository is local path
        if (StringUtils.isNotEmpty(versionString)) {
            runCommand = runCommand + " " + versionString;
        }
        args.add(runCommand);
        return args.stream().collect(Collectors.joining("\n"));
    }

    /**
     * build mlflow models command
     */
    protected String buildCommandForMlflowModels() {

        List<String> args = new ArrayList<>();
        args.add(
                String.format(MlflowConstants.EXPORT_MLFLOW_TRACKING_URI_ENV, mlflowParameters.getMlflowTrackingUri()));

View on GitHub (pinned to 02eac45a1b)

Solutions

  1. Set jobType to a supported MLflow task type in the task definition
  2. Re-save the task in the current UI version so valid jobType options are enforced
Defensive patterns

Strategy: type-guard

When it happens

Trigger: Thrown at dolphinscheduler-task-plugin/dolphinscheduler-task-mlflow/src/main/java/org/apache/dolphinscheduler/plugin/task/mlflow/MlflowTask.java:202 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/26d4b3b3604a5a58. Report an issue: GitHub.