{"record":{"id":"8068df2c3fbec0b5","repo":"apache/dolphinscheduler","slug":"quartz-scheduler-showdown-error","errorCode":"QUARTZ_SCHEDULER_SHOWDOWN_ERROR","errorMessage":"QUARTZ_SCHEDULER_SHOWDOWN_ERROR","messagePattern":"QUARTZ_SCHEDULER_SHOWDOWN_ERROR","errorType":"error_code","errorClass":"SchedulerException","httpStatus":null,"severity":"error","filePath":"dolphinscheduler-scheduler-plugin/dolphinscheduler-scheduler-quartz/src/main/java/org/apache/dolphinscheduler/scheduler/quartz/QuartzScheduler.java","lineNumber":91,"sourceCode":"        JobKey jobKey = QuartzJobKey.of(projectId, scheduleId).toJobKey();\n        try {\n            if (scheduler.checkExists(jobKey)) {\n                log.info(\"Try to delete scheduler task, projectId: {}, schedulerId: {}\", projectId, scheduleId);\n                scheduler.deleteJob(jobKey);\n            }\n        } catch (Exception e) {\n            log.error(\"Failed to delete scheduler task, projectId: {}, schedulerId: {}\", projectId, scheduleId, e);\n            throw new SchedulerException(QuartzSchedulerExceptionEnum.QUARTZ_DELETE_JOB_ERROR, e);\n        }\n    }\n\n    @Override\n    public void close() {\n        // nothing to do\n        try {\n            scheduler.shutdown();\n        } catch (Exception e) {\n            throw new SchedulerException(QuartzSchedulerExceptionEnum.QUARTZ_SCHEDULER_SHOWDOWN_ERROR, e);\n        }\n    }\n}\n","sourceCodeStart":73,"sourceCodeEnd":95,"githubUrl":"https://github.com/apache/dolphinscheduler/blob/02eac45a1b6676e639fcbfb4be2243de5771b05d/dolphinscheduler-scheduler-plugin/dolphinscheduler-scheduler-quartz/src/main/java/org/apache/dolphinscheduler/scheduler/quartz/QuartzScheduler.java#L73-L95","documentation":"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.","triggerScenarios":"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.","commonSituations":"See trigger scenarios.","solutions":["Inspect the caused-by exception: TimeoutException means a running job blocked interruption — tune org.quartz.scheduler.shutdownTimeout or interrupt the task processes","Ensure close()/shutdown is only called after the scheduler is no longer receiving jobs","If the store is already closed during JVM shutdown, treat as best-effort and log; the exception is wrapped in SchedulerException"],"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"}