t8y2/dbx · error · IllegalArgumentException
bootstrap_servers or zookeeper_connect_string is required
Error message
bootstrap_servers or zookeeper_connect_string is required
What it means
Thrown by resolveBrokerConnection when the connection JSON has neither bootstrap_servers/bootstrapServers nor a zookeeper_connect_string. The agent needs at least one of these to know where to reach the cluster: direct broker endpoints, or a ZooKeeper ensemble it can query for broker discovery.
Source
Thrown at agents/drivers/kafka/src/main/java/com/dbx/agent/kafka/KafkaAgent.java:327
String servers = stringOrEmpty(conn, "bootstrap_servers");
if (servers.isBlank()) {
servers = stringOrEmpty(conn, "bootstrapServers");
}
if (servers.isBlank()) {
throw new IllegalArgumentException("bootstrap_servers is required");
}
return servers;
}
static JsonObject resolveBrokerConnection(JsonObject conn) throws Exception {
String configured = stringOrEmpty(conn, "bootstrap_servers");
if (configured.isBlank()) configured = stringOrEmpty(conn, "bootstrapServers");
if (!configured.isBlank()) return conn;
String connectString = stringOrEmpty(conn, "zookeeper_connect_string");
if (connectString.isBlank()) connectString = stringOrEmpty(conn, "zookeeperServers");
if (connectString.isBlank()) {
throw new IllegalArgumentException("bootstrap_servers or zookeeper_connect_string is required");
}
JsonObject resolved = conn.deepCopy();
resolved.addProperty("bootstrap_servers", discoverBootstrapServers(connectString, securityProtocol(conn), conn));
return resolved;
}
private static String discoverBootstrapServers(String connectString, String securityProtocol, JsonObject conn)
throws Exception {
int sessionTimeout = intOrDefault(conn, "zookeeper_session_timeout_ms", DEFAULT_SESSION_TIMEOUT_MS);
int connectionTimeout = intOrDefault(
conn,
"zookeeper_connection_timeout_ms",
DEFAULT_ZOOKEEPER_CONNECTION_TIMEOUT_MS
);
CountDownLatch connected = new CountDownLatch(1);
ZooKeeper zooKeeper = new ZooKeeper(connectString, sessionTimeout, event -> {
if (event.getState() == Watcher.Event.KeeperState.SyncConnected) connected.countDown();View on GitHub (pinned to c0390bff16)
Solutions
- Provide bootstrap_servers with one or more Kafka broker host:port entries
- Alternatively provide zookeeper_connect_string so the agent discovers brokers via ZooKeeper
- Check for typos in the key names; both snake_case and camelCase aliases are accepted
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at agents/drivers/kafka/src/main/java/com/dbx/agent/kafka/KafkaAgent.java:327 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of t8y2/dbx@c0390bff16 (2026-09-05).
Data as JSON: /api/errors/3a050e0f86588edd.
Report an issue: GitHub.