apache/dolphinscheduler · error · TaskException
Execute chunjun task failed
Error message
Execute chunjun task failed
What it means
A catch-all in ChunJunTask.handle(): the shell command that launches the chunjun process failed for any reason other than interruption — process non-zero exit, missing chunjun installation/home, invalid generated JSON config, or an I/O error from ShellCommandExecutor. The exception's exit code is captured before rethrow, so the task is marked failed with its real process exit status.
Source
Thrown at dolphinscheduler-task-plugin/dolphinscheduler-task-chunjun/src/main/java/org/apache/dolphinscheduler/plugin/task/chunjun/ChunJunTask.java:106
IShellInterceptorBuilder<?, ?> shellActuatorBuilder = ShellInterceptorBuilderFactory.newBuilder()
.properties(ParameterUtils.convert(paramsMap))
.appendScript(buildCommand(buildChunJunJsonFile(paramsMap)));
TaskResponse commandExecuteResult = shellCommandExecutor.run(shellActuatorBuilder, taskCallBack);
setExitStatusCode(commandExecuteResult.getExitStatusCode());
// todo get applicationId
setAppIds(String.join(TaskConstants.COMMA, Collections.emptySet()));
setProcessId(commandExecuteResult.getProcessId());
} catch (InterruptedException e) {
Thread.currentThread().interrupt();
log.error("The current ChunJun Task has been interrupted", e);
setExitStatusCode(EXIT_CODE_FAILURE);
throw new TaskException("The current ChunJun Task has been interrupted", e);
} catch (Exception e) {
log.error("chunjun task failed.", e);
setExitStatusCode(EXIT_CODE_FAILURE);
throw new TaskException("Execute chunjun task failed", e);
}
}
/**
* build chunjun json file
*
* @param paramsMap
* @return
* @throws Exception
*/
private String buildChunJunJsonFile(Map<String, Property> paramsMap) throws Exception {
// generate json
String fileName = String.format("%s/%s_job.json", taskRequest.getExecutePath(), taskRequest.getTaskAppId());
String json = null;
Path path = new File(fileName).toPath();
if (Files.exists(path)) {View on GitHub (pinned to 02eac45a1b)
Solutions
- Check the task log for the underlying shell output — the chunjun CLI usually prints the concrete failure
- Verify CHUNJUN_HOME and the chunjun binary are present and executable on the worker
- Inspect the generated chunjun json file (logged by buildChunJunJsonFile) for datasource/field mapping errors
- Fix datasource connectivity or credentials referenced by the json config
Defensive patterns
Strategy: try-catch
When it happens
Trigger: Thrown at dolphinscheduler-task-plugin/dolphinscheduler-task-chunjun/src/main/java/org/apache/dolphinscheduler/plugin/task/chunjun/ChunJunTask.java:106 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/7be80ccd16f0068b.
Report an issue: GitHub.