apache/dolphinscheduler · error · ServiceException

110001

110001

Error message

query plugin error, this plugin has no UI component

What it means

Thrown in UiPluginServiceImpl.queryUiPluginsByType when the requested PluginType is not a UI-capable plugin (pluginType.getHasUi() is false). The caller asked for UI components of a plugin type that has none (e.g., server-only plugins); it is a generic guard against unsupported plugin types.

Source

Thrown at dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/UiPluginServiceImpl.java:62

    @Autowired
    PluginDefineMapper pluginDefineMapper;

    @Autowired
    private DsVersionDao dsVersionDao;

    private String dsVersion;

    @PostConstruct
    private void init() {
        dsVersion = dsVersionDao.selectVersion().map(DsVersion::getVersion).orElse("unknown");
    }

    @Override
    public List<PluginDefine> queryUiPluginsByType(PluginType pluginType) {
        if (!pluginType.getHasUi()) {
            log.warn("Plugin does not have UI.");
            throw new ServiceException(Status.PLUGIN_NOT_A_UI_COMPONENT);
        }
        List<PluginDefine> pluginDefines = pluginDefineMapper.queryByPluginType(pluginType.getDesc());

        if (CollectionUtils.isEmpty(pluginDefines)) {
            log.warn("Query plugins result is null, check status of plugins.");
            throw new ServiceException(Status.QUERY_PLUGINS_RESULT_IS_NULL);
        }
        return pluginDefines;
    }

    @Override
    public PluginDefine queryUiPluginDetailById(int id) {
        PluginDefine pluginDefine = pluginDefineMapper.queryDetailById(id);
        if (null == pluginDefine) {
            log.warn("Query plugins result is empty, pluginId:{}.", id);
            throw new ServiceException(Status.QUERY_PLUGIN_DETAIL_RESULT_IS_NULL);
        }
        return pluginDefine;

View on GitHub (pinned to 02eac45a1b)

Solutions

  1. Request only plugin types that have UI components (e.g., alert/datasource/task types with forms).
  2. Fix the client code that maps UI pages to plugin types.
  3. Check PluginType.getHasUi() before calling the endpoint.
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/UiPluginServiceImpl.java:62 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/656478e8d9e3cd11. Report an issue: GitHub.