{"record":{"id":"9a9788a6371d4013","repo":"apache/dolphinscheduler","slug":"110002","errorCode":"110002","errorMessage":"query alarm plugins result is empty, please check the startup status of the alarm component and confirm that the relevant alarm plugin is successfully registered","messagePattern":"query alarm plugins result is empty, please check the startup status of the alarm component and confirm that the relevant alarm plugin is successfully registered","errorType":"error_code","errorClass":"ServiceException","httpStatus":null,"severity":"error","filePath":"dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/UiPluginServiceImpl.java","lineNumber":68,"sourceCode":"\n    private String dsVersion;\n\n    @PostConstruct\n    private void init() {\n        dsVersion = dsVersionDao.selectVersion().map(DsVersion::getVersion).orElse(\"unknown\");\n    }\n\n    @Override\n    public List<PluginDefine> queryUiPluginsByType(PluginType pluginType) {\n        if (!pluginType.getHasUi()) {\n            log.warn(\"Plugin does not have UI.\");\n            throw new ServiceException(Status.PLUGIN_NOT_A_UI_COMPONENT);\n        }\n        List<PluginDefine> pluginDefines = pluginDefineMapper.queryByPluginType(pluginType.getDesc());\n\n        if (CollectionUtils.isEmpty(pluginDefines)) {\n            log.warn(\"Query plugins result is null, check status of plugins.\");\n            throw new ServiceException(Status.QUERY_PLUGINS_RESULT_IS_NULL);\n        }\n        return pluginDefines;\n    }\n\n    @Override\n    public PluginDefine queryUiPluginDetailById(int id) {\n        PluginDefine pluginDefine = pluginDefineMapper.queryDetailById(id);\n        if (null == pluginDefine) {\n            log.warn(\"Query plugins result is empty, pluginId:{}.\", id);\n            throw new ServiceException(Status.QUERY_PLUGIN_DETAIL_RESULT_IS_NULL);\n        }\n        return pluginDefine;\n    }\n\n    @Override\n    public ProductInfoDto queryProductInfo() {\n        ProductInfoDto result = new ProductInfoDto();\n        result.setVersion(dsVersion);","sourceCodeStart":50,"sourceCodeEnd":86,"githubUrl":"https://github.com/apache/dolphinscheduler/blob/02eac45a1b6676e639fcbfb4be2243de5771b05d/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/UiPluginServiceImpl.java#L50-L86","documentation":"Error \"query alarm plugins result is empty, please check the startup status of the alarm component and confirm that the relevant alarm plugin is successfully registered\" thrown in apache/dolphinscheduler.","triggerScenarios":"Thrown at dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/UiPluginServiceImpl.java:68 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Check master/server startup logs for plugin registration errors.","Confirm the alert plugin JARs are present in the plugins directory and the alert server started successfully.","Verify the plugins table in the database was populated at startup; restart the API server so plugins re-register."],"exampleFix":null,"handlingStrategy":"fallback","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"}