This is an automated email from the ASF dual-hosted git repository.
technoboy pushed a commit to branch branch-2.11
in repository https://gitbox.apache.org/repos/asf/pulsar.git
The following commit(s) were added to refs/heads/branch-2.11 by this push:
new 8a52bb0eac8 [fix][broker] Fix if dynamicConfig item in ZK do not exist
in broker cause NPE (#17705)
8a52bb0eac8 is described below
commit 8a52bb0eac87cdacc397225116157f302195dd33
Author: Lei Zhiyuan <[email protected]>
AuthorDate: Mon Sep 19 20:33:05 2022 +0800
[fix][broker] Fix if dynamicConfig item in ZK do not exist in broker cause
NPE (#17705)
---
.../main/java/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 a45b75a2284..48f3713f5cb 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
@@ -2100,7 +2100,12 @@ public class BrokerService implements Closeable {
}
Map<String, String> 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);