315157973 commented on a change in pull request #13571:
URL: https://github.com/apache/pulsar/pull/13571#discussion_r776647932



##########
File path: 
pulsar-broker/src/main/java/org/apache/pulsar/broker/service/BrokerService.java
##########
@@ -874,17 +874,18 @@ public void unloadNamespaceBundlesGracefully() {
             // 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,
-                                
pulsar.getConfiguration().getNamespaceBundleUnloadingTimeoutMs(), 
TimeUnit.MILLISECONDS)
-                                .get();
-                    } catch (Exception e) {
-                        log.warn("Failed to unload namespace bundle {}", su, 
e);
+            if (serviceUnits != null) {

Review comment:
       Here is the full stack:
   
   ```
   2021-12-30T14:52:26,658+0800 [main] ERROR 
org.apache.pulsar.broker.service.BrokerService - Failed to disable broker from 
loadbalancer list null
   java.lang.NullPointerException: null
        at 
org.apache.pulsar.broker.service.BrokerService.unloadNamespaceBundlesGracefully(BrokerService.java:876)
 ~[classes/:?]
        at 
org.apache.pulsar.broker.service.BrokerService$MockitoMock$699853984.unloadNamespaceBundlesGracefully$accessor$kul3VZjk(Unknown
 Source) ~[classes/:?]
        at 
org.apache.pulsar.broker.service.BrokerService$MockitoMock$699853984$auxiliary$w4tS3po5.call(Unknown
 Source) ~[classes/:?]
        at 
org.mockito.internal.invocation.RealMethod$FromCallable$1.call(RealMethod.java:40)
 ~[mockito-core-3.8.0.jar:?]
        at 
org.mockito.internal.invocation.RealMethod$FromBehavior.invoke(RealMethod.java:62)
 ~[mockito-core-3.8.0.jar:?]
        at 
org.mockito.internal.invocation.InterceptedInvocation.callRealMethod(InterceptedInvocation.java:141)
 ~[mockito-core-3.8.0.jar:?]
        at 
org.mockito.internal.stubbing.answers.CallsRealMethods.answer(CallsRealMethods.java:44)
 ~[mockito-core-3.8.0.jar:?]
        at org.mockito.Answers.answer(Answers.java:98) 
~[mockito-core-3.8.0.jar:?]
        at 
org.mockito.internal.handler.MockHandlerImpl.handle(MockHandlerImpl.java:106) 
~[mockito-core-3.8.0.jar:?]
        at 
org.mockito.internal.handler.NullResultGuardian.handle(NullResultGuardian.java:29)
 ~[mockito-core-3.8.0.jar:?]
        at 
org.mockito.internal.handler.InvocationNotifierHandler.handle(InvocationNotifierHandler.java:33)
 ~[mockito-core-3.8.0.jar:?]
        at 
org.mockito.internal.creation.bytebuddy.MockMethodInterceptor.doIntercept(MockMethodInterceptor.java:82)
 ~[mockito-core-3.8.0.jar:?]
        at 
org.mockito.internal.creation.bytebuddy.MockMethodInterceptor.doIntercept(MockMethodInterceptor.java:56)
 ~[mockito-core-3.8.0.jar:?]
        at 
org.mockito.internal.creation.bytebuddy.MockMethodInterceptor$DispatcherDefaultingToRealMethod.interceptSuperCallable(MockMethodInterceptor.java:141)
 ~[mockito-core-3.8.0.jar:?]
        at 
org.apache.pulsar.broker.service.BrokerService$MockitoMock$699853984.unloadNamespaceBundlesGracefully(Unknown
 Source) ~[classes/:?]
        at 
org.apache.pulsar.broker.service.BrokerService.closeAsync(BrokerService.java:707)
 ~[classes/:?]
        at 
org.apache.pulsar.broker.service.BrokerService$MockitoMock$699853984.closeAsync$accessor$kul3VZjk(Unknown
 Source) ~[classes/:?]
        at 
org.apache.pulsar.broker.service.BrokerService$MockitoMock$699853984$auxiliary$CC4JznlO.call(Unknown
 Source) ~[classes/:?]
        at 
org.mockito.internal.invocation.RealMethod$FromCallable$1.call(RealMethod.java:40)
 ~[mockito-core-3.8.0.jar:?]
        at 
org.mockito.internal.invocation.RealMethod$FromBehavior.invoke(RealMethod.java:62)
 ~[mockito-core-3.8.0.jar:?]
        at 
org.mockito.internal.invocation.InterceptedInvocation.callRealMethod(InterceptedInvocation.java:141)
 ~[mockito-core-3.8.0.jar:?]
        at 
org.mockito.internal.stubbing.answers.CallsRealMethods.answer(CallsRealMethods.java:44)
 ~[mockito-core-3.8.0.jar:?]
        at org.mockito.Answers.answer(Answers.java:98) 
~[mockito-core-3.8.0.jar:?]
        at 
org.mockito.internal.handler.MockHandlerImpl.handle(MockHandlerImpl.java:106) 
~[mockito-core-3.8.0.jar:?]
        at 
org.mockito.internal.handler.NullResultGuardian.handle(NullResultGuardian.java:29)
 ~[mockito-core-3.8.0.jar:?]
        at 
org.mockito.internal.handler.InvocationNotifierHandler.handle(InvocationNotifierHandler.java:33)
 ~[mockito-core-3.8.0.jar:?]
        at 
org.mockito.internal.creation.bytebuddy.MockMethodInterceptor.doIntercept(MockMethodInterceptor.java:82)
 ~[mockito-core-3.8.0.jar:?]
        at 
org.mockito.internal.creation.bytebuddy.MockMethodInterceptor.doIntercept(MockMethodInterceptor.java:56)
 ~[mockito-core-3.8.0.jar:?]
        at 
org.mockito.internal.creation.bytebuddy.MockMethodInterceptor$DispatcherDefaultingToRealMethod.interceptSuperCallable(MockMethodInterceptor.java:141)
 ~[mockito-core-3.8.0.jar:?]
        at 
org.apache.pulsar.broker.service.BrokerService$MockitoMock$699853984.closeAsync(Unknown
 Source) ~[classes/:?]
        at 
org.apache.pulsar.broker.service.BrokerService.close(BrokerService.java:664) 
~[classes/:?]
        at 
org.apache.pulsar.broker.service.BrokerService$MockitoMock$699853984.close$accessor$kul3VZjk(Unknown
 Source) ~[classes/:?]
        at 
org.apache.pulsar.broker.service.BrokerService$MockitoMock$699853984$auxiliary$WybKRKng.call(Unknown
 Source) ~[classes/:?]
        at 
org.mockito.internal.invocation.RealMethod$FromCallable$1.call(RealMethod.java:40)
 ~[mockito-core-3.8.0.jar:?]
        at 
org.mockito.internal.invocation.RealMethod$FromBehavior.invoke(RealMethod.java:62)
 ~[mockito-core-3.8.0.jar:?]
        at 
org.mockito.internal.invocation.InterceptedInvocation.callRealMethod(InterceptedInvocation.java:141)
 ~[mockito-core-3.8.0.jar:?]
        at 
org.mockito.internal.stubbing.answers.CallsRealMethods.answer(CallsRealMethods.java:44)
 ~[mockito-core-3.8.0.jar:?]
        at org.mockito.Answers.answer(Answers.java:98) 
~[mockito-core-3.8.0.jar:?]
        at 
org.mockito.internal.handler.MockHandlerImpl.handle(MockHandlerImpl.java:106) 
~[mockito-core-3.8.0.jar:?]
        at 
org.mockito.internal.handler.NullResultGuardian.handle(NullResultGuardian.java:29)
 ~[mockito-core-3.8.0.jar:?]
        at 
org.mockito.internal.handler.InvocationNotifierHandler.handle(InvocationNotifierHandler.java:33)
 ~[mockito-core-3.8.0.jar:?]
        at 
org.mockito.internal.creation.bytebuddy.MockMethodInterceptor.doIntercept(MockMethodInterceptor.java:82)
 ~[mockito-core-3.8.0.jar:?]
        at 
org.mockito.internal.creation.bytebuddy.MockMethodInterceptor.doIntercept(MockMethodInterceptor.java:56)
 ~[mockito-core-3.8.0.jar:?]
        at 
org.mockito.internal.creation.bytebuddy.MockMethodInterceptor$DispatcherDefaultingToRealMethod.interceptSuperCallable(MockMethodInterceptor.java:141)
 ~[mockito-core-3.8.0.jar:?]
        at 
org.apache.pulsar.broker.service.BrokerService$MockitoMock$699853984.close(Unknown
 Source) ~[classes/:?]
        at 
org.apache.pulsar.broker.service.PersistentTopicTest.teardown(PersistentTopicTest.java:236)
 ~[test-classes/:?]
        at jdk.internal.reflect.GeneratedMethodAccessor35.invoke(Unknown 
Source) ~[?:?]
        at 
jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 ~[?:?]
        at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
        at 
org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:132)
 ~[testng-7.3.0.jar:?]
        at 
org.testng.internal.MethodInvocationHelper.invokeMethodConsideringTimeout(MethodInvocationHelper.java:61)
 ~[testng-7.3.0.jar:?]
        at 
org.testng.internal.ConfigInvoker.invokeConfigurationMethod(ConfigInvoker.java:366)
 ~[testng-7.3.0.jar:?]
        at 
org.testng.internal.ConfigInvoker.invokeConfigurations(ConfigInvoker.java:320) 
~[testng-7.3.0.jar:?]
        at 
org.testng.internal.TestInvoker.runConfigMethods(TestInvoker.java:701) 
~[testng-7.3.0.jar:?]
        at 
org.testng.internal.TestInvoker.runAfterGroupsConfigurations(TestInvoker.java:677)
 ~[testng-7.3.0.jar:?]
        at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:548) 
~[testng-7.3.0.jar:?]
        at 
org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:174) 
~[testng-7.3.0.jar:?]
        at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46) 
~[testng-7.3.0.jar:?]
        at 
org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:822)
 ~[testng-7.3.0.jar:?]
        at 
org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:147) 
~[testng-7.3.0.jar:?]
        at 
org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)
 ~[testng-7.3.0.jar:?]
        at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128) 
~[testng-7.3.0.jar:?]
        at java.util.ArrayList.forEach(ArrayList.java:1541) [?:?]
        at org.testng.TestRunner.privateRun(TestRunner.java:764) 
[testng-7.3.0.jar:?]
        at org.testng.TestRunner.run(TestRunner.java:585) [testng-7.3.0.jar:?]
        at org.testng.SuiteRunner.runTest(SuiteRunner.java:384) 
[testng-7.3.0.jar:?]
        at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:378) 
[testng-7.3.0.jar:?]
        at org.testng.SuiteRunner.privateRun(SuiteRunner.java:337) 
[testng-7.3.0.jar:?]
        at org.testng.SuiteRunner.run(SuiteRunner.java:286) [testng-7.3.0.jar:?]
        at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53) 
[testng-7.3.0.jar:?]
        at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96) 
[testng-7.3.0.jar:?]
        at org.testng.TestNG.runSuitesSequentially(TestNG.java:1218) 
[testng-7.3.0.jar:?]
        at org.testng.TestNG.runSuitesLocally(TestNG.java:1140) 
[testng-7.3.0.jar:?]
        at org.testng.TestNG.runSuites(TestNG.java:1069) [testng-7.3.0.jar:?]
        at org.testng.TestNG.run(TestNG.java:1037) [testng-7.3.0.jar:?]
        at 
com.intellij.rt.testng.IDEARemoteTestNG.run(IDEARemoteTestNG.java:66) 
[testng-rt.jar:?]
        at 
com.intellij.rt.testng.RemoteTestNGStarter.main(RemoteTestNGStarter.java:109) 
[testng-rt.jar:?]
   ```




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to