diff options
author | Bjørn Christian Seime <bjorncs@verizonmedia.com> | 2020-10-19 11:18:44 +0200 |
---|---|---|
committer | Bjørn Christian Seime <bjorncs@verizonmedia.com> | 2020-10-19 13:09:49 +0200 |
commit | bd1cdc00cdf97a01cdf82e082728f519f3f53572 (patch) | |
tree | 1780284d97d1d430e17dc8861d038a614e487fc2 /jdisc_http_service | |
parent | 126b668244b0cf9cdd40f15d57a7658d4e9066fa (diff) |
Reduce number of janitor threads
Scale janitor threadpool with number of cores.
It is currently only used for closing completion handlers (to avoid deadlock scenarios).
Its size can therefore be greatly reduced.
Diffstat (limited to 'jdisc_http_service')
-rw-r--r-- | jdisc_http_service/src/main/java/com/yahoo/jdisc/http/server/jetty/JettyHttpServer.java | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/server/jetty/JettyHttpServer.java b/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/server/jetty/JettyHttpServer.java index 03f29aa7bf3..e72f8bceb1f 100644 --- a/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/server/jetty/JettyHttpServer.java +++ b/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/server/jetty/JettyHttpServer.java @@ -206,8 +206,9 @@ public class JettyHttpServer extends AbstractServerProvider { return ports.stream().map(Object::toString).collect(Collectors.joining(":")); } + // Separate threadpool for tasks that cannot be executed on the jdisc default threadpool due to risk of deadlock private static ExecutorService newJanitor() { - int threadPoolSize = Runtime.getRuntime().availableProcessors(); + int threadPoolSize = Math.max(1, Runtime.getRuntime().availableProcessors()/8); log.info("Creating janitor executor with " + threadPoolSize + " threads"); return Executors.newFixedThreadPool( threadPoolSize, |