{"record":{"id":"92ba71ee2aeec1e7","repo":"apache/druid","slug":"invalid-value-s-for-property-s-only-s-is-s","errorCode":null,"errorMessage":"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.","messagePattern":"Invalid value\\[(.+?)\\] for property\\[(.+?)\\]\\. Only \\[(.+?)\\] is supported; the ZooKeeper-based 'batch' server view has been removed\\. Remove this property or set it to '(.+?)'\\. See the Druid upgrade notes for details\\.","errorType":"validation","errorClass":"ISE","httpStatus":null,"severity":"error","filePath":"processing/src/main/java/org/apache/druid/guice/StartupInjectorBuilder.java","lineNumber":187,"sourceCode":"            docsLink\n        );\n      }\n\n      validateRemovedProcessingConfigs();\n      validateServerViewType();\n      validateIndexerRunnerType();\n    }\n\n    /**\n     * Rejects any value of {@code druid.serverview.type} other than {@code \"http\"}. The\n     * ZooKeeper-based \"batch\" server view has been removed; only the HTTP-based server view is\n     * supported.\n     */\n    private void validateServerViewType()\n    {\n      String configuredType = properties.getProperty(SERVERVIEW_TYPE_CONFIG_STRING);\n      if (configuredType != null && !SERVERVIEW_TYPE_HTTP.equals(configuredType)) {\n        throw new ISE(\n            \"Invalid value[%s] for property[%s]. Only [%s] is supported; the ZooKeeper-based\"\n            + \" 'batch' server view has been removed. Remove this property or set it to '%s'.\"\n            + \" See the Druid upgrade notes for details.\",\n            configuredType,\n            SERVERVIEW_TYPE_CONFIG_STRING,\n            SERVERVIEW_TYPE_HTTP,\n            SERVERVIEW_TYPE_HTTP\n        );\n      }\n    }\n\n    /**\n     * Rejects {@code druid.indexer.runner.type=remote}. The ZooKeeper-based {@code RemoteTaskRunner}\n     * has been removed; use the HTTP-based {@code httpRemote} runner (the default) or {@code local}\n     * for single-process testing.\n     */\n    private void validateIndexerRunnerType()\n    {","sourceCodeStart":169,"sourceCodeEnd":205,"githubUrl":"https://github.com/apache/druid/blob/9b90983fd291f26935af934383ce360473179e4d/processing/src/main/java/org/apache/druid/guice/StartupInjectorBuilder.java#L169-L205","documentation":"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.","triggerScenarios":"Setting druid.serverview.type to 'batch' (or any value other than 'http') in runtime.properties, typically left over from an older Druid cluster configuration.","commonSituations":"Upgrading a legacy Druid cluster that used the ZK-based batch server view; copy-pasting old historical/broker configs into a newer Druid release.","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."],"exampleFix":"// before (runtime.properties)\ndruid.serverview.type=batch\n// after (runtime.properties)\ndruid.serverview.type=http","handlingStrategy":"validation","validationCode":"String v = props.getProperty(\"druid.serverview.type\");\nif (v != null && !\"http\".equals(v)) { throw new IllegalStateException(\"druid.serverview.type must be 'http' or unset: \" + v); }","typeGuard":null,"tryCatchPattern":"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; }","preventionTips":["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"],"tags":["startup","configuration","zookeeper","removed-feature"],"backgroundTag":"invalid-config-value","analyzedSha":"9b90983fd291f26935af934383ce360473179e4d","analyzedAt":"2026-09-07T13:32:30.957Z","contentChangedAt":"2026-09-07T13:32:30.957Z","schemaVersion":2},"datasetVersion":"2026-09-17T15:17:12.973Z"}