apache/dolphinscheduler · error · ServiceException

110014

110014

Error message

Alert test sending failed, [{0}]

What it means

Thrown by testSend in two cases: an exception occurred while RPC-calling the alert server's sendTestAlert, or the alert server responded with isSuccess()==false. The exception message from the call (or the first resResults entry) is embedded in the error.

Source

Thrown at dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/AlertPluginInstanceServiceImpl.java:326

            throw new ServiceException(Status.ALERT_SERVER_NOT_EXIST);
        }

        Host alertServerAddress = alertServerAddressOptional.get();
        AlertTestSendRequest alertTestSendRequest = new AlertTestSendRequest(
                pluginDefineId,
                pluginInstanceParams);

        AlertSendResponse alertSendResponse;

        try {
            alertSendResponse = Clients
                    .withService(IAlertOperator.class)
                    .withHost(alertServerAddress.getAddress())
                    .sendTestAlert(alertTestSendRequest);
            log.info("Send alert to: {} successfully, response: {}", alertServerAddress, alertSendResponse);
        } catch (Exception e) {
            log.error("Send alert: {} to: {} failed", alertTestSendRequest, alertServerAddress, e);
            throw new ServiceException(Status.ALERT_TEST_SENDING_FAILED, e.getMessage());
        }

        if (!alertSendResponse.isSuccess()) {
            throw new ServiceException(Status.ALERT_TEST_SENDING_FAILED,
                    alertSendResponse.getResResults().get(0).getMessage());
        }
    }
}

View on GitHub (pinned to 02eac45a1b)

Solutions

  1. Read the embedded message in the exception ({0} placeholder) for the underlying cause from the alert server.
  2. Verify the pluginInstanceParams (SMTP config, webhook URLs, tokens) are correct for the chosen alert plugin.
  3. Check dolphinscheduler-alert server logs for the corresponding send failure stack trace.
  4. Confirm network reachability from the alert server to the upstream channel (SMTP/IM endpoints).
Defensive patterns

Strategy: try-catch

Validate before calling

// validate plugin params shape before sending
JSONUtils.checkJsonValidate(pluginInstanceParams); // plus verify SMTP/webhook fields non-empty for the plugin type

Try / catch

try { alertPluginInstanceService.testSend(loginUser, pluginDefineId, params); } catch (ServiceException e) { if (e.getCode() == Status.ALERT_TEST_SENDING_FAILED.getCode()) { log.error("test send failed: {}", e.getMessage()); /* inspect alert server logs; fix channel config */ } throw e; }

Prevention

When it happens

Trigger: Network failure talking to the alert server host; alert plugin (email/Slack/DingTalk etc.) misconfigured so the server-side send fails; alert server returning a failure response for the test request.

Common situations: Wrong SMTP credentials/host for email alerts; expired webhook tokens for Slack/DingTalk/WeCom; alert server unreachable or timed out; plugin params JSON invalid causing server-side errors.

Related errors


AI-assisted analysis of apache/dolphinscheduler@02eac45a1b (2026-09-06). Data as JSON: /api/errors/cbef0918d194a009. Report an issue: GitHub.