{"record":{"id":"a328e66ea1f9bc7f","repo":"apache/dolphinscheduler","slug":"zeppelin-task-params-is-not-valid","errorCode":null,"errorMessage":"zeppelin task params is not valid","messagePattern":"zeppelin task params is not valid","errorType":"validation","errorClass":"ZeppelinTaskException","httpStatus":null,"severity":"error","filePath":"dolphinscheduler-task-plugin/dolphinscheduler-task-zeppelin/src/main/java/org/apache/dolphinscheduler/plugin/task/zeppelin/ZeppelinTask.java","lineNumber":79,"sourceCode":"     * zeppelin api client\n     */\n    private ZeppelinClient zClient;\n\n    private ZeppelinConnectionParam zeppelinConnectionParam;\n\n    private ZeppelinTaskExecutionContext zeppelinTaskExecutionContext;\n\n    protected ZeppelinTask(TaskExecutionContext taskExecutionContext) {\n        super(taskExecutionContext);\n        this.taskExecutionContext = taskExecutionContext;\n    }\n\n    @Override\n    public void init() {\n        final String taskParams = taskExecutionContext.getTaskParams();\n        this.zeppelinParameters = JSONUtils.parseObject(taskParams, ZeppelinParameters.class);\n        if (this.zeppelinParameters == null || !this.zeppelinParameters.checkParameters()) {\n            throw new ZeppelinTaskException(\"zeppelin task params is not valid\");\n        }\n        zeppelinTaskExecutionContext =\n                zeppelinParameters.generateExtendedContext(taskExecutionContext.getResourceParametersHelper());\n        zeppelinConnectionParam = (ZeppelinConnectionParam) DataSourceUtils\n                .buildConnectionParams(DbType.valueOf(zeppelinParameters.getType()),\n                        zeppelinTaskExecutionContext.getConnectionParams());\n        zeppelinParameters.setUsername(zeppelinConnectionParam.getUsername());\n        zeppelinParameters.setPassword(zeppelinConnectionParam.getPassword());\n        zeppelinParameters.setRestEndpoint(zeppelinConnectionParam.getRestEndpoint());\n        log.info(\"Initialize zeppelin task params:{}\", JSONUtils.toPrettyJsonString(zeppelinParameters));\n        this.zClient = getZeppelinClient();\n    }\n\n    public boolean login() throws Exception {\n        String username = this.zeppelinParameters.getUsername();\n        String password = this.zeppelinParameters.getPassword();\n        if (StringUtils.isNotBlank(username) && StringUtils.isNotBlank(password)) {\n            this.zClient.login(username, password);","sourceCodeStart":61,"sourceCodeEnd":97,"githubUrl":"https://github.com/apache/dolphinscheduler/blob/02eac45a1b6676e639fcbfb4be2243de5771b05d/dolphinscheduler-task-plugin/dolphinscheduler-task-zeppelin/src/main/java/org/apache/dolphinscheduler/plugin/task/zeppelin/ZeppelinTask.java#L61-L97","documentation":"ZeppelinTask.init() parses taskParams into ZeppelinParameters and runs checkParameters(). If parsing yields null or validation fails (e.g. missing noteId/paragraphId), it throws ZeppelinTaskException with this message before any Zeppelin connection is made.","triggerScenarios":"taskParams JSON empty/malformed (null parse result) or required Zeppelin parameters (noteId, paragraphId) missing/blank so checkParameters() returns false.","commonSituations":"Workflow definition with an incompletely filled Zeppelin node; hand-edited JSON missing noteId; version upgrade where ZeppelinParameters fields changed; called also from testBuildCommand in tests with fixture params.","solutions":["Open the Zeppelin task node in the UI and fill noteId and paragraphId, then re-save","Validate taskParams JSON parses to a ZeppelinParameters object with all required fields","Compare with a working Zeppelin task's taskParams to spot missing fields"],"exampleFix":"// before\n{\"zeppelinTaskType\":\"ZEPPELIN\",\"localParams\":[]} // no noteId -> invalid\n// after\n{\"zeppelinTaskType\":\"ZEPPELIN\",\"noteId\":\"2ABCDEFGH\",\"paragraphId\":\"paragraph_123\",\"localParams\":[]}","handlingStrategy":"validation","validationCode":"ZeppelinParameters p = JSONUtils.parseObject(taskParams, ZeppelinParameters.class);\nif (p == null || !p.checkParameters()) {\n    throw new IllegalStateException(\"zeppelin task params is not valid\");\n}","typeGuard":null,"tryCatchPattern":"try {\n    zeppelinTask.init();\n} catch (ZeppelinTaskException e) {\n    if (e.getMessage().contains(\"zeppelin task params is not valid\")) {\n        // fix noteId/paragraphId and re-save the task\n    }\n}","preventionTips":["Always set noteId and paragraphId in the Zeppelin task form","Test the note in Zeppelin UI before scheduling","Re-validate task params after DS or Zeppelin version upgrades"],"tags":["zeppelin","validation","task-params"],"backgroundTag":"schema-validation-failed","analyzedSha":"02eac45a1b6676e639fcbfb4be2243de5771b05d","analyzedAt":"2026-09-06T17:43:00.555Z","contentChangedAt":"2026-09-06T17:43:00.555Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}