apache/pulsar · error · IllegalArgumentException
${key} doesn't exits in the dynamicConfigurationMap
Error message
${key} doesn't exits in the dynamicConfigurationMap What it means
validateConfigKey rejects a configuration key that is not present in the dynamicConfigurationMap — the key is not a recognized dynamic configuration field, so no listener or validator can be registered for it.
Source
Thrown at pulsar-broker/src/main/java/org/apache/pulsar/broker/service/BrokerService.java:3749
*
* @param configKey
* : configuration field name
* @param listener
* : listener which takes appropriate action on config-value change
*/
public <T> void registerConfigurationListener(String configKey, Consumer<T> listener) {
validateConfigKey(configKey);
configRegisteredListeners.put(configKey, listener);
}
private void addDynamicConfigValidator(String key, Predicate<String> validator) {
validateConfigKey(key);
dynamicConfigurationMap.get(key).validator = validator;
}
private void validateConfigKey(String key) {
if (!dynamicConfigurationMap.containsKey(key)) {
throw new IllegalArgumentException(key + " doesn't exits in the dynamicConfigurationMap");
}
}
/**
* Allows the third-party plugin to register a custom dynamic configuration.
*/
public void registerCustomDynamicConfiguration(String key, Predicate<String> validator) {
if (dynamicConfigurationMap.containsKey(key)) {
throw new IllegalArgumentException(key + " already exists in the dynamicConfigurationMap");
}
ConfigField configField = ConfigField.newCustomConfigField(null);
configField.validator = validator;
dynamicConfigurationMap.put(key, configField);
}
private void createDynamicConfigPathIfNotExist() {
try {
Optional<Map<String, String>> configCache =View on GitHub (pinned to 820761864e)
Solutions
- Use a key that exists in the dynamic configuration (check PulsarConfiguration fields)
- Fix typos in the config key string
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at pulsar-broker/src/main/java/org/apache/pulsar/broker/service/BrokerService.java:3749 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of apache/pulsar@820761864e (2026-09-06).
Data as JSON: /api/errors/ac376d92bf82cd41.
Report an issue: GitHub.