apache/druid · error · ISE
Invalid value[ ] for property[ ]. Only [ ] is supported…
Error message
Invalid value[%s] for property[%s]. Only [%s] is supported; the ZooKeeper-based 'batch' server view has been removed. Remove this property or set it to '%s'. See the Druid upgrade notes for details.
What it means
Druid's startup injector validates the runtime properties before building the injector. The ZooKeeper-based 'batch' server view type has been removed; only 'http' is supported, so any other druid.serverview.type value causes an immediate ISE at startup.
Solutions
- Remove the druid.serverview.type property entirely (http is the default).
- Set druid.serverview.type=http explicitly.
- Review the Druid upgrade notes for the removed ZK-based server view and migrate any dependent configs.
Example fix
// before (runtime.properties) druid.serverview.type=batch // after (runtime.properties) druid.serverview.type=http
Defensive patterns
Strategy: validation
Validate before calling
String v = props.getProperty("druid.serverview.type");
if (v != null && !"http".equals(v)) { throw new IllegalStateException("druid.serverview.type must be 'http' or unset: " + v); } Try / catch
try { injector = new StartupInjectorBuilder().build(); } catch (ISE e) { if (e.getMessage().contains("druid.serverview.type")) { log.error("Fix druid.serverview.type in runtime.properties"); } throw e; } Prevention
- Remove druid.serverview.type from legacy runtime.properties during upgrades
- Use only the http server view in modern Druid
- Grep configs for removed keys before deploying a new Druid version
When it happens
Trigger: Setting druid.serverview.type to 'batch' (or any value other than 'http') in runtime.properties, typically left over from an older Druid cluster configuration.
Common situations: Upgrading a legacy Druid cluster that used the ZK-based batch server view; copy-pasting old historical/broker configs into a newer Druid release.
Understand the failure class
Background: "Invalid value" and "allowed values are" config errors: what your library rejected and how to fix it — this error's family across 41 libraries.
Related errors
- Invalid value[ ] for property[ ]. The ZooKeeper-based…
- Config[ ] has been removed. Please use config[ ] instead.
- At least one of the druid.enablePlaintextPort or…
- Dot at the end of property
- Double dot in property
AI-assisted analysis of apache/druid@9b90983fd2 (2026-09-07).
Data as JSON: /api/errors/92ba71ee2aeec1e7.
Report an issue: GitHub.
Appendix: source
Thrown at processing/src/main/java/org/apache/druid/guice/StartupInjectorBuilder.java:187
docsLink
);
}
validateRemovedProcessingConfigs();
validateServerViewType();
validateIndexerRunnerType();
}
/**
* Rejects any value of {@code druid.serverview.type} other than {@code "http"}. The
* ZooKeeper-based "batch" server view has been removed; only the HTTP-based server view is
* supported.
*/
private void validateServerViewType()
{
String configuredType = properties.getProperty(SERVERVIEW_TYPE_CONFIG_STRING);
if (configuredType != null && !SERVERVIEW_TYPE_HTTP.equals(configuredType)) {
throw new ISE(
"Invalid value[%s] for property[%s]. Only [%s] is supported; the ZooKeeper-based"
+ " 'batch' server view has been removed. Remove this property or set it to '%s'."
+ " See the Druid upgrade notes for details.",
configuredType,
SERVERVIEW_TYPE_CONFIG_STRING,
SERVERVIEW_TYPE_HTTP,
SERVERVIEW_TYPE_HTTP
);
}
}
/**
* Rejects {@code druid.indexer.runner.type=remote}. The ZooKeeper-based {@code RemoteTaskRunner}
* has been removed; use the HTTP-based {@code httpRemote} runner (the default) or {@code local}
* for single-process testing.
*/
private void validateIndexerRunnerType()
{View on GitHub (pinned to 9b90983fd2)