2019-10-14 19:18:54 UTC - Addison Higham: okay, ran into this issue over the weekend as well: <https://github.com/apache/pulsar/issues/5383> <- tl;dr is that an exception isn't being caught properly, which results in a future never resolving, leaving a dangling jetty server thread ---- 2019-10-14 19:21:41 UTC - Addison Higham: which I can easily fix in a few ways... but I have a question in general: I noticed that in quite a few places, `CompletableFuture.get()` (without a timeout) is being called in the admin server. This seems like is generally not a great idea, as we have a response timeout and if for whatever reason, the future fails to resolve, you now have a dangling thread.
Seems like there should either be: 1. real push to move everything to do a timeout when calling get 2. some way in jetty to find long lived threads and kill them ---- 2019-10-14 20:54:00 UTC - Sijie Guo: I think there are a chain of changes to change to async method in admin http. we should probably do that same thing. ---- 2019-10-14 20:59:16 UTC - Addison Higham: not sure I follow @Sijie Guo are you saying so that instead of resolving the futures, we just past back an async future to jetty and let it resolve it? ---- 2019-10-14 21:13:18 UTC - Sijie Guo: I mean instead of resolving the future, we should rewrite the logic to add callbacks to the future. There were already a few pull requests doing so. This would also prevent potential deadlocks ---- 2019-10-14 21:19:48 UTC - Addison Higham: ah, it looks that API is already converted in master ----