{"record":{"id":"faea5e4f157ada0c","repo":"apache/dolphinscheduler","slug":"failed-to-parse-command-parameter-for-workflow-ins","errorCode":null,"errorMessage":"Failed to parse command parameter for workflow instance %s","messagePattern":"Failed to parse command parameter for workflow instance (.+?)","errorType":"exception","errorClass":"ServiceException","httpStatus":null,"severity":"error","filePath":"dolphinscheduler-service/src/main/java/org/apache/dolphinscheduler/service/expand/CuringParamsServiceImpl.java","lineNumber":168,"sourceCode":"     * @param parameters\n     * @param workflowInstance\n     * @param projectName\n     * @param workflowDefinitionName\n     * @return\n     */\n    @Override\n    public Map<String, Property> paramParsingPreparation(@NonNull TaskInstance taskInstance,\n                                                         @NonNull AbstractParameters parameters,\n                                                         @NonNull WorkflowInstance workflowInstance,\n                                                         String projectName,\n                                                         String workflowDefinitionName) {\n        Map<String, Property> prepareParamsMap = new HashMap<>();\n\n        // If it is a complement, you need to pass in the task instance id\n        // to locate the time of the process instance complement.\n        ICommandParam commandParam = JSONUtils.parseObject(workflowInstance.getCommandParam(), ICommandParam.class);\n        if (commandParam == null) {\n            throw new ServiceException(String.format(\"Failed to parse command parameter for workflow instance %s\",\n                    workflowInstance.getId()));\n        }\n        String timeZone = commandParam.getTimeZone();\n\n        // 1. Built-in parameters (lowest precedence)\n        Map<String, String> builtInParams = parseBuiltInParamsMap(\n                taskInstance, workflowInstance, timeZone, projectName, workflowDefinitionName);\n        safePutAll(prepareParamsMap, ParameterUtils.getUserDefParamsMap(builtInParams));\n\n        // 2. Project-level parameters\n        Map<String, Property> projectParams = getProjectParameterMap(taskInstance.getProjectCode());\n        safePutAll(prepareParamsMap, projectParams);\n\n        // 3. Workflow global parameters\n        Map<String, Property> globalParams = parseGlobalParamsMap(workflowInstance);\n        safePutAll(prepareParamsMap, globalParams);\n\n        // 4. Task-local parameters","sourceCodeStart":150,"sourceCodeEnd":186,"githubUrl":"https://github.com/apache/dolphinscheduler/blob/02eac45a1b6676e639fcbfb4be2243de5771b05d/dolphinscheduler-service/src/main/java/org/apache/dolphinscheduler/service/expand/CuringParamsServiceImpl.java#L150-L186","documentation":"The workflow instance's command parameter JSON could not be converted back into typed objects during parameter pre-parsing (paramParsingPreparation) — the commandParam JSON is malformed, contains types that no longer match the current class definitions, or was stored by an older incompatible version. Downstream parameter substitution for the task cannot proceed, so the instance fails before task dispatch.","triggerScenarios":"Thrown at dolphinscheduler-service/src/main/java/org/apache/dolphinscheduler/service/expand/CuringParamsServiceImpl.java:168 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Inspect workflowInstance.getCommandParam() JSON for syntax errors or truncated content","Re-run the instance with fresh parameters instead of recovering an instance whose stored command params are corrupt","If caused by a version upgrade schema change, migrate/patch the stored commandParam values","Add a pre-check that JSONUtils/mapStruct parsing result is non-null before use"],"exampleFix":null,"handlingStrategy":"try-catch","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"}