diff options
author | Bjørn Christian Seime <bjorncs@verizonmedia.com> | 2021-09-30 15:30:29 +0200 |
---|---|---|
committer | Bjørn Christian Seime <bjorncs@verizonmedia.com> | 2021-09-30 15:30:29 +0200 |
commit | 3027edb077b126b760f1d374a2b753ef69204973 (patch) | |
tree | d42da91853c900c7313978a597d62d296cf8757f /container-core/src/main/java/com/yahoo/container/handler/threadpool | |
parent | 5372cf371b4cffa127604af76e87432297358bab (diff) |
Use minimum 8 threads when config contains a scale factor
Diffstat (limited to 'container-core/src/main/java/com/yahoo/container/handler/threadpool')
-rw-r--r-- | container-core/src/main/java/com/yahoo/container/handler/threadpool/DefaultContainerThreadpool.java | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/container-core/src/main/java/com/yahoo/container/handler/threadpool/DefaultContainerThreadpool.java b/container-core/src/main/java/com/yahoo/container/handler/threadpool/DefaultContainerThreadpool.java index b55cd9bf3b5..7f4d1462102 100644 --- a/container-core/src/main/java/com/yahoo/container/handler/threadpool/DefaultContainerThreadpool.java +++ b/container-core/src/main/java/com/yahoo/container/handler/threadpool/DefaultContainerThreadpool.java @@ -26,6 +26,7 @@ public class DefaultContainerThreadpool extends AbstractComponent implements Aut private static final Logger log = Logger.getLogger(DefaultContainerThreadpool.class.getName()); private static final int MIN_QUEUE_SIZE = 650; + private static final int MIN_THREADS_WHEN_SCALE_FACTOR = 8; private final ExecutorServiceWrapper threadpool; @@ -94,14 +95,14 @@ public class DefaultContainerThreadpool extends AbstractComponent implements Aut private static int maxThreads(ContainerThreadpoolConfig config, int cpus) { if (config.maxThreads() > 0) return config.maxThreads(); else if (config.maxThreads() == 0) return 4 * cpus; - else return Math.abs(config.maxThreads()) * cpus; + else return Math.max(MIN_THREADS_WHEN_SCALE_FACTOR, Math.abs(config.maxThreads()) * cpus); } private static int minThreads(ContainerThreadpoolConfig config, int max, int cpus) { int threads; if (config.minThreads() > 0) threads = config.minThreads(); else if (config.minThreads() == 0) threads = 4 * cpus; - else threads = Math.abs(config.minThreads()) * cpus; + else threads = Math.max(MIN_THREADS_WHEN_SCALE_FACTOR, Math.abs(config.minThreads()) * cpus); return Math.min(threads, max); } |