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]