apache/dolphinscheduler · error · IllegalArgumentException
ssh datasource param is not valid
Error message
ssh datasource param is not valid
What it means
Validation in SSHDataSourceProcessor.checkDatasourceParam: the SSH datasource is rejected when host or userName is empty — without a target host and login user the SSH session cannot even be initiated, so the guard fires before any connection attempt.
Source
Thrown at dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-ssh/src/main/java/org/apache/dolphinscheduler/plugin/datasource/ssh/param/SSHDataSourceProcessor.java:51
import lombok.extern.slf4j.Slf4j;
import com.google.auto.service.AutoService;
@AutoService(DataSourceProcessor.class)
@Slf4j
public class SSHDataSourceProcessor extends AbstractDataSourceProcessor {
@Override
public BaseDataSourceParamDTO castDatasourceParamDTO(String paramJson) {
return JSONUtils.parseObject(paramJson, SSHDataSourceParamDTO.class);
}
@Override
public void checkDatasourceParam(BaseDataSourceParamDTO datasourceParamDTO) {
if (StringUtils.isEmpty(datasourceParamDTO.getHost())
|| StringUtils.isEmpty(datasourceParamDTO.getUserName())) {
throw new IllegalArgumentException("ssh datasource param is not valid");
}
}
@Override
public String getDatasourceUniqueId(ConnectionParam connectionParam, DbType dbType) {
SSHConnectionParam baseConnectionParam = (SSHConnectionParam) connectionParam;
return MessageFormat.format("{0}@{1}@{2}@{3}", dbType.getName(), baseConnectionParam.getHost(),
baseConnectionParam.getUser(),
PasswordUtils.encodePassword(baseConnectionParam.getPassword()));
}
@Override
public BaseDataSourceParamDTO createDatasourceParamDTO(String connectionJson) {
SSHConnectionParam connectionParams = (SSHConnectionParam) createConnectionParams(connectionJson);
SSHDataSourceParamDTO sshDataSourceParamDTO = new SSHDataSourceParamDTO();
sshDataSourceParamDTO.setUserName(connectionParams.getUser());
sshDataSourceParamDTO.setPassword(connectionParams.getPassword());View on GitHub (pinned to 02eac45a1b)
Solutions
- Set the host field to a reachable SSH server hostname or IP
- Set userName to the SSH login account
- Re-save the datasource and test the connection
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-ssh/src/main/java/org/apache/dolphinscheduler/plugin/datasource/ssh/param/SSHDataSourceProcessor.java:51 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/60d3215be57dc737.
Report an issue: GitHub.