From dd3b3d3ae01a49f9553dc594982961ae30e40730 Mon Sep 17 00:00:00 2001 From: leizhiyuan Date: Sat, 17 Sep 2022 22:12:45 +0800 Subject: [PATCH] fix:if dynamicConfig item in zk do not exist in broker, will fail for other dynamic config --- .../org/apache/pulsar/broker/service/BrokerService.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/BrokerService.java b/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/BrokerService.java index 77cc8f11ff553..de4b70c7046c9 100644 --- a/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/BrokerService.java +++ b/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/BrokerService.java @@ -2152,7 +2152,12 @@ private void handleDynamicConfigurationUpdates() { } Map data = optMap.get(); data.forEach((configKey, value) -> { - Field configField = dynamicConfigurationMap.get(configKey).field; + ConfigField configFieldWrapper = dynamicConfigurationMap.get(configKey); + if (configFieldWrapper == null) { + log.warn("{} does not exist in dynamicConfigurationMap, skip this config.", configKey); + return; + } + Field configField = configFieldWrapper.field; Object newValue = FieldParser.value(data.get(configKey), configField); if (configField != null) { Consumer listener = configRegisteredListeners.get(configKey);