apache/dolphinscheduler · error · IllegalArgumentException
zeppelin datasource param is not valid
Error message
zeppelin datasource param is not valid
What it means
Validation in ZeppelinDataSourceProcessor.checkDatasourceParam: the Zeppelin datasource is rejected when restEndpoint or userName is empty — the REST endpoint is required to reach the Zeppelin server and the user is required for Zeppelin authentication.
Source
Thrown at dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-zeppelin/src/main/java/org/apache/dolphinscheduler/plugin/datasource/zeppelin/param/ZeppelinDataSourceProcessor.java:52
import lombok.extern.slf4j.Slf4j;
import com.google.auto.service.AutoService;
@AutoService(DataSourceProcessor.class)
@Slf4j
public class ZeppelinDataSourceProcessor extends AbstractDataSourceProcessor {
@Override
public BaseDataSourceParamDTO castDatasourceParamDTO(String paramJson) {
return JSONUtils.parseObject(paramJson, ZeppelinDataSourceParamDTO.class);
}
@Override
public void checkDatasourceParam(BaseDataSourceParamDTO datasourceParamDTO) {
ZeppelinDataSourceParamDTO zeppelinDataSourceParamDTO = (ZeppelinDataSourceParamDTO) datasourceParamDTO;
if (StringUtils.isEmpty(zeppelinDataSourceParamDTO.getRestEndpoint())
|| StringUtils.isEmpty(zeppelinDataSourceParamDTO.getUserName())) {
throw new IllegalArgumentException("zeppelin datasource param is not valid");
}
}
@Override
public String getDatasourceUniqueId(ConnectionParam connectionParam, DbType dbType) {
ZeppelinConnectionParam baseConnectionParam = (ZeppelinConnectionParam) connectionParam;
return MessageFormat.format("{0}@{1}@{2}@{3}", dbType.getName(), baseConnectionParam.getRestEndpoint(),
baseConnectionParam.getUsername(), PasswordUtils.encodePassword(baseConnectionParam.getPassword()));
}
@Override
public BaseDataSourceParamDTO createDatasourceParamDTO(String connectionJson) {
ZeppelinConnectionParam connectionParams = (ZeppelinConnectionParam) createConnectionParams(connectionJson);
ZeppelinDataSourceParamDTO zeppelinDataSourceParamDTO = new ZeppelinDataSourceParamDTO();
zeppelinDataSourceParamDTO.setUserName(connectionParams.getUsername());
zeppelinDataSourceParamDTO.setPassword(connectionParams.getPassword());
zeppelinDataSourceParamDTO.setRestEndpoint(connectionParams.getRestEndpoint());View on GitHub (pinned to 02eac45a1b)
Solutions
- Set restEndpoint to the full Zeppelin URL, e.g. http://zeppelin-host:8080
- Provide the Zeppelin userName (and credentials if anonymous access is disabled)
- Re-save and use connection test to verify
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-zeppelin/src/main/java/org/apache/dolphinscheduler/plugin/datasource/zeppelin/param/ZeppelinDataSourceProcessor.java:52 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/00c432b66e05d549.
Report an issue: GitHub.