apache/druid · error · ISE
Config[ ] has been removed. Please use config[ ] instead.
Error message
Config[%s] has been removed. Please use config[%s] instead.
What it means
Startup validation checks for processing configs that have been deleted from Druid. If a removed config key is still present in runtime.properties, an ISE names the old key and points to the replacement config.
Solutions
- Remove the deleted config key from runtime.properties.
- Set the suggested replacement config instead.
- Check the Druid release/upgrade notes for the full list of removed configs.
Example fix
// before (runtime.properties) druid.processing.oldBufferConfig=... // after (runtime.properties) druid.processing.newBufferConfig=...
Defensive patterns
Strategy: validation
Validate before calling
for (String key : removedConfigs) {
if (props.getProperty(key) != null) { throw new IllegalStateException(key + " was removed; see Druid upgrade notes"); }
} Try / catch
try { injector = new StartupInjectorBuilder().build(); } catch (ISE e) { if (e.getMessage().contains("has been removed")) { log.error("Replace removed config: {}", e.getMessage()); } throw e; } Prevention
- Diff runtime.properties against the new release's valid-config list when upgrading
- Keep config templates per Druid version
- Watch startup logs for removal warnings before they become errors
When it happens
Trigger: Passing a deprecated/removed Druid processing property (e.g. an old druid.processing.* key) via runtime.properties or command-line -D flags, detected by validateRemovedProcessingConfigs.
Common situations: Upgrading Druid versions while keeping old runtime.properties; copying configs between clusters running different Druid releases.
Understand the failure class
Background: "is deprecated and will be removed" — deprecation warnings for old API names, keywords, and options, and how to migrate before the removal release — this error's family across 29 libraries.
Related errors
- Invalid value[ ] for property[ ]. Only [ ] is supported…
- Invalid value[ ] for property[ ]. The ZooKeeper-based…
- At least one of the druid.enablePlaintextPort or…
- Cannot specify both versionRegex and fileRegex…
- Dot at the end of property
AI-assisted analysis of apache/druid@9b90983fd2 (2026-09-07).
Data as JSON: /api/errors/fe18583ecd027a0c.
Report an issue: GitHub.
Appendix: source
Thrown at processing/src/main/java/org/apache/druid/guice/StartupInjectorBuilder.java:254
"druid.processing.merge.awaitShutdownMillis"
);
checkDeletedConfigAndThrow(
"druid.processing.merge.pool.parallelism",
"druid.processing.merge.parallelism"
);
checkDeletedConfigAndThrow(
"druid.processing.merge.pool.defaultMaxQueryParallelism",
"druid.processing.merge.defaultMaxQueryParallelism"
);
}
/**
* Checks if a deleted config is present in the properties and throws an ISE.
*/
private void checkDeletedConfigAndThrow(String deletedConfigName, String replaceConfigName)
{
if (properties.getProperty(deletedConfigName) != null) {
throw new ISE(
"Config[%s] has been removed. Please use config[%s] instead.",
deletedConfigName,
replaceConfigName
);
}
}
}
@VisibleForTesting
public static String getVersionString()
{
final String version = StartupInjectorBuilder.class.getPackage().getImplementationVersion();
if (version == null || version.contains("SNAPSHOT")) {
return "latest";
}
return version;
}
}View on GitHub (pinned to 9b90983fd2)