{"record":{"id":"26d4b3b3604a5a58","repo":"apache/dolphinscheduler","slug":"unsupported-mlflow-job-type","errorCode":null,"errorMessage":"Unsupported mlflow job type: ","messagePattern":"Unsupported mlflow job type: ","errorType":"exception","errorClass":"TaskException","httpStatus":null,"severity":"error","filePath":"dolphinscheduler-task-plugin/dolphinscheduler-task-mlflow/src/main/java/org/apache/dolphinscheduler/plugin/task/mlflow/MlflowTask.java","lineNumber":202,"sourceCode":"            case MlflowConstants.JOB_TYPE_AUTOML:\n                args.add(String.format(MlflowConstants.SET_DATA_PATH, mlflowParameters.getDataPath()));\n                String repoAutoML = getPresetRepository() + MlflowConstants.PRESET_AUTOML_PROJECT;\n                args.add(String.format(MlflowConstants.SET_REPOSITORY, repoAutoML));\n\n                runCommand = MlflowConstants.MLFLOW_RUN_AUTOML_PROJECT;\n                runCommand = String.format(runCommand, mlflowParameters.getAutomlTool(), mlflowParameters.getParams(),\n                        mlflowParameters.getModelName(), mlflowParameters.getExperimentName());\n                break;\n\n            case MlflowConstants.JOB_TYPE_CUSTOM_PROJECT:\n                args.add(String.format(MlflowConstants.SET_REPOSITORY, mlflowParameters.getMlflowProjectRepository()));\n                runCommand = MlflowConstants.MLFLOW_RUN_CUSTOM_PROJECT;\n                runCommand =\n                        String.format(runCommand, mlflowParameters.getParams(), mlflowParameters.getExperimentName());\n                break;\n\n            default:\n                throw new TaskException(\"Unsupported mlflow job type: \" + mlflowParameters.getMlflowJobType());\n        }\n\n        // add version string to command if repository is local path\n        if (StringUtils.isNotEmpty(versionString)) {\n            runCommand = runCommand + \" \" + versionString;\n        }\n        args.add(runCommand);\n        return args.stream().collect(Collectors.joining(\"\\n\"));\n    }\n\n    /**\n     * build mlflow models command\n     */\n    protected String buildCommandForMlflowModels() {\n\n        List<String> args = new ArrayList<>();\n        args.add(\n                String.format(MlflowConstants.EXPORT_MLFLOW_TRACKING_URI_ENV, mlflowParameters.getMlflowTrackingUri()));","sourceCodeStart":184,"sourceCodeEnd":220,"githubUrl":"https://github.com/apache/dolphinscheduler/blob/02eac45a1b6676e639fcbfb4be2243de5771b05d/dolphinscheduler-task-plugin/dolphinscheduler-task-mlflow/src/main/java/org/apache/dolphinscheduler/plugin/task/mlflow/MlflowTask.java#L184-L220","documentation":"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.","triggerScenarios":"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.","commonSituations":"See trigger scenarios.","solutions":["Set jobType to a supported MLflow task type in the task definition","Re-save the task in the current UI version so valid jobType options are enforced"],"exampleFix":null,"handlingStrategy":"type-guard","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"02eac45a1b6676e639fcbfb4be2243de5771b05d","analyzedAt":"2026-09-06T17:43:00.555Z","contentChangedAt":"2026-09-06T17:43:00.555Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}