apache/dolphinscheduler · error · SchedulerException

QUARTZ_SCHEDULER_SHOWDOWN_ERROR

QUARTZ_SCHEDULER_SHOWDOWN_ERROR

Error message

QUARTZ_SCHEDULER_SHOWDOWN_ERROR

What it means

scheduler.shutdown() threw while closing the Quartz scheduler (the close() method of QuartzScheduler). Usually caused by the shutdown exceeding the halt timeout because running tasks do not honour interrupts, or by the job store already being closed/broken during master shutdown. It surfaces only at lifecycle teardown, so its impact is limited to clean-shutdown guarantees.

Source

Thrown at dolphinscheduler-scheduler-plugin/dolphinscheduler-scheduler-quartz/src/main/java/org/apache/dolphinscheduler/scheduler/quartz/QuartzScheduler.java:91

        JobKey jobKey = QuartzJobKey.of(projectId, scheduleId).toJobKey();
        try {
            if (scheduler.checkExists(jobKey)) {
                log.info("Try to delete scheduler task, projectId: {}, schedulerId: {}", projectId, scheduleId);
                scheduler.deleteJob(jobKey);
            }
        } catch (Exception e) {
            log.error("Failed to delete scheduler task, projectId: {}, schedulerId: {}", projectId, scheduleId, e);
            throw new SchedulerException(QuartzSchedulerExceptionEnum.QUARTZ_DELETE_JOB_ERROR, e);
        }
    }

    @Override
    public void close() {
        // nothing to do
        try {
            scheduler.shutdown();
        } catch (Exception e) {
            throw new SchedulerException(QuartzSchedulerExceptionEnum.QUARTZ_SCHEDULER_SHOWDOWN_ERROR, e);
        }
    }
}

View on GitHub (pinned to 02eac45a1b)

Solutions

  1. Inspect the caused-by exception: TimeoutException means a running job blocked interruption — tune org.quartz.scheduler.shutdownTimeout or interrupt the task processes
  2. Ensure close()/shutdown is only called after the scheduler is no longer receiving jobs
  3. If the store is already closed during JVM shutdown, treat as best-effort and log; the exception is wrapped in SchedulerException
Defensive patterns

Strategy: try-catch

When it happens

Trigger: Thrown at dolphinscheduler-scheduler-plugin/dolphinscheduler-scheduler-quartz/src/main/java/org/apache/dolphinscheduler/scheduler/quartz/QuartzScheduler.java:91 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/8068df2c3fbec0b5. Report an issue: GitHub.