You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pulsar.apache.org by Apache Pulsar Slack <ap...@gmail.com> on 2019/10/15 09:11:02 UTC

Slack digest for #dev - 2019-10-15

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
----