This is an automated email from the ASF dual-hosted git repository.

penghui pushed a commit to branch branch-2.9
in repository https://gitbox.apache.org/repos/asf/pulsar.git

commit 6fd742139ddfed161ea0c76582b7dfdd4be7004e
Author: feynmanlin <[email protected]>
AuthorDate: Wed Jan 5 14:46:32 2022 +0800

    Fix NPE when unloading namespace bundle (#13571)
    
    * Fix NPE when unloading namespace bundle
    
    (cherry picked from commit ec0a44058d249a7510bb3d05685b2ee5e0874eb6)
---
 .../apache/pulsar/broker/service/BrokerService.java    | 18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)

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 cbe02c8..d37dfb6 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
@@ -830,15 +830,17 @@ public class BrokerService implements Closeable {
             // unload all namespace-bundles gracefully
             long closeTopicsStartTime = System.nanoTime();
             Set<NamespaceBundle> serviceUnits = 
pulsar.getNamespaceService().getOwnedServiceUnits();
-            serviceUnits.forEach(su -> {
-                if (su instanceof NamespaceBundle) {
-                    try {
-                        pulsar.getNamespaceService().unloadNamespaceBundle(su, 
1, TimeUnit.MINUTES).get();
-                    } catch (Exception e) {
-                        log.warn("Failed to unload namespace bundle {}", su, 
e);
+            if (serviceUnits != null) {
+                serviceUnits.forEach(su -> {
+                    if (su instanceof NamespaceBundle) {
+                        try {
+                            
pulsar.getNamespaceService().unloadNamespaceBundle(su, 1, 
TimeUnit.MINUTES).get();
+                        } catch (Exception e) {
+                            log.warn("Failed to unload namespace bundle {}", 
su, e);
+                        }
                     }
-                }
-            });
+                });
+            }
 
             double closeTopicsTimeSeconds = 
TimeUnit.NANOSECONDS.toMillis((System.nanoTime() - closeTopicsStartTime))
                     / 1000.0;

Reply via email to