summaryrefslogtreecommitdiffstats
path: root/jdisc_http_service
diff options
context:
space:
mode:
authorBjørn Christian Seime <bjorncs@verizonmedia.com>2020-10-19 11:18:44 +0200
committerBjørn Christian Seime <bjorncs@verizonmedia.com>2020-10-19 13:09:49 +0200
commitbd1cdc00cdf97a01cdf82e082728f519f3f53572 (patch)
tree1780284d97d1d430e17dc8861d038a614e487fc2 /jdisc_http_service
parent126b668244b0cf9cdd40f15d57a7658d4e9066fa (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.java3
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,