massakam opened a new pull request #12995: URL: https://github.com/apache/pulsar/pull/12995
### Motivation When the bug that has been fixed in https://github.com/apache/pulsar/pull/12993 occurred, the topic was unavailable for 5 minutes until the namespace bundle unloading timed out. ``` 2021-11-26T21:45:07,455+0900 [BookKeeperClientWorker-OrderedExecutor-4-0] ERROR org.apache.bookkeeper.common.util.SafeRunnable - Unexpected throwable caught java.lang.NullPointerException: null at org.apache.bookkeeper.mledger.impl.OpAddEntry.addComplete(OpAddEntry.java:148) ~[managed-ledger.jar:2.10.0-SNAPSHOT] at org.apache.bookkeeper.client.AsyncCallback$AddCallback.addCompleteWithLatency(AsyncCallback.java:92) ~[bookkeeper-server-4.14.3.jar:4.14.3] at org.apache.bookkeeper.client.PendingAddOp.submitCallback(PendingAddOp.java:431) ~[bookkeeper-server-4.14.3.jar:4.14.3] at org.apache.bookkeeper.client.LedgerHandle.errorOutPendingAdds(LedgerHandle.java:1799) ~[bookkeeper-server-4.14.3.jar:4.14.3] at org.apache.bookkeeper.client.LedgerHandle$5.safeRun(LedgerHandle.java:574) ~[bookkeeper-server-4.14.3.jar:4.14.3] at org.apache.bookkeeper.common.util.SafeRunnable.run(SafeRunnable.java:36) [bookkeeper-common-4.14.3.jar:4.14.3] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_312] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_312] at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) [netty-common-4.1.68.Final.jar:4.1.68.Final] at java.lang.Thread.run(Thread.java:748) [?:1.8.0_312] ... 2021-11-26T21:50:07,454+0900 [pulsar-io-18-9] WARN org.apache.pulsar.broker.service.BrokerService - Unloading of public/default/0x00000000_0x40000000 has timed out ``` I think 5 minutes is too long, but this value is hard-coded and we can't change it. https://github.com/apache/pulsar/blob/6afbee6d0e7a6d21eb0fca400a19e38cbbad102e/pulsar-broker/src/main/java/org/apache/pulsar/broker/namespace/NamespaceService.java#L667 ### Modifications Make it possible to change the time to wait for unloading of a namespace bundle. The default value is 1 minute. ### Verifying this change - [ ] Make sure that the change passes the CI checks. ### Does this pull request potentially affect one of the following parts: - Dependencies (does it add or upgrade a dependency): (no) - The public API: (no) - The schema: (no) - The default values of configurations: (no) - The wire protocol: (no) - The rest endpoints: (no) - The admin cli options: (no) - Anything that affects deployment: (no) ### Documentation - [ ] `doc` -- 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]
