apache/dolphinscheduler · error · TaskException

datasync taskExecArn is null, not created yet

Error message

datasync taskExecArn is null, not created yet

What it means

A state guard in checkApplicationId: hook's taskExecArn is null/empty, meaning the AWS DataSync task execution was never created (submission failed or was not completed before status tracking/cancel). Since there is no execution ARN, doubleCheckFinishStatus or cancellation has nothing to query; the faulty state is the missing ARN in DatasyncHook.

Source

Thrown at dolphinscheduler-task-plugin/dolphinscheduler-task-datasync/src/main/java/org/apache/dolphinscheduler/plugin/task/datasync/DatasyncTask.java:140

    public void trackApplicationStatus() throws TaskException {
        checkApplicationId();
        Boolean isFinishedSuccessfully = null;
        isFinishedSuccessfully = hook.doubleCheckFinishStatus(TaskExecutionStatus.SUCCESS, DatasyncHook.doneStatus);
        if (!isFinishedSuccessfully) {
            exitStatusCode = TaskConstants.EXIT_CODE_FAILURE;
        } else {
            exitStatusCode = TaskConstants.EXIT_CODE_SUCCESS;
        }
    }

    /**
     * check datasync applicationId or get it from appId
     */
    private void checkApplicationId() {
        String taskExecArn = hook.getTaskExecArn();
        if (StringUtils.isEmpty(taskExecArn)) {
            if (StringUtils.isEmpty(getAppIds())) {
                throw new TaskException("datasync taskExecArn is null, not created yet");
            }
            hook.setTaskExecArn(getAppIds());
        }
    }

    public int checkCreateTask() {

        Boolean isCreateSuccessfully = hook.createDatasyncTask(parameters);
        if (!isCreateSuccessfully) {
            return TaskConstants.EXIT_CODE_FAILURE;
        } else {
            return TaskConstants.EXIT_CODE_SUCCESS;
        }
    }

    public int startDatasyncTask() {
        Boolean isStartSuccessfully = hook.startDatasyncTask();
        if (!isStartSuccessfully) {

View on GitHub (pinned to 02eac45a1b)

Solutions

  1. Check submitApplication logs for why the task execution ARN was never captured
  2. Ensure status tracking is only started after successful submission
  3. Re-run the task to create a new DataSync execution
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at dolphinscheduler-task-plugin/dolphinscheduler-task-datasync/src/main/java/org/apache/dolphinscheduler/plugin/task/datasync/DatasyncTask.java:140 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/f04d7ceccfa900d4. Report an issue: GitHub.