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> &lt;- 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
----

Reply via email to