summaryrefslogtreecommitdiffstats
path: root/config-model
diff options
context:
space:
mode:
authorBjørn Christian Seime <bjorncs@verizonmedia.com>2020-09-14 16:02:02 +0200
committerBjørn Christian Seime <bjorncs@verizonmedia.com>2020-09-14 16:02:02 +0200
commit0a64098e1950d5c2884f7ebeb9c43ed8ae9731ef (patch)
tree4d60eb59054fbfaac0a93b41c845a611c61d33ad /config-model
parent7987a90002395bcb4c98cb2991c79832f3e0c5e6 (diff)
Deduplicate logic for finding cluster vcpu
Diffstat (limited to 'config-model')
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/clients/ContainerDocumentApi.java13
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/container/ContainerThreadpoolComponent.java14
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/container/xml/SearchHandler.java14
3 files changed, 16 insertions, 25 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/clients/ContainerDocumentApi.java b/config-model/src/main/java/com/yahoo/vespa/model/clients/ContainerDocumentApi.java
index 2150b2b677a..ecf05d97fa7 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/clients/ContainerDocumentApi.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/clients/ContainerDocumentApi.java
@@ -13,8 +13,6 @@ import com.yahoo.vespa.model.container.component.UserBindingPattern;
import java.util.Collection;
import java.util.Collections;
-import java.util.List;
-import java.util.stream.Collectors;
/**
* @author Einar M R Rosenvinge
@@ -111,17 +109,6 @@ public class ContainerDocumentApi {
if (vcpu == 0) return FALLBACK_CORE_POOL_SIZE;
return Math.max(1, (int)Math.ceil(vcpu * options.feedThreadPoolSizeFactor * 0.5));
}
-
- private static double vcpu(ContainerCluster<?> cluster) {
- List<Double> vcpus = cluster.getContainers().stream()
- .filter(c -> c.getHostResource() != null && c.getHostResource().realResources() != null)
- .map(c -> c.getHostResource().realResources().vcpu())
- .distinct()
- .collect(Collectors.toList());
- // We can only use host resource for calculation if all container nodes in the cluster are homogeneous (in terms of vcpu)
- if (vcpus.size() != 1 || vcpus.get(0) == 0) return 0;
- return vcpus.get(0);
- }
}
}
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/ContainerThreadpoolComponent.java b/config-model/src/main/java/com/yahoo/vespa/model/container/ContainerThreadpoolComponent.java
index 7cec7e44460..648dce95a59 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/container/ContainerThreadpoolComponent.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/container/ContainerThreadpoolComponent.java
@@ -7,6 +7,9 @@ import com.yahoo.container.handler.threadpool.ContainerThreadpoolConfig;
import com.yahoo.osgi.provider.model.ComponentModel;
import com.yahoo.vespa.model.container.component.SimpleComponent;
+import java.util.List;
+import java.util.stream.Collectors;
+
/**
* Component definition for a {@link java.util.concurrent.Executor} using {@link ContainerThreadPool}.
*
@@ -26,4 +29,15 @@ public class ContainerThreadpoolComponent extends SimpleComponent implements Con
}
@Override public void getConfig(ContainerThreadpoolConfig.Builder builder) { builder.name(this.name); }
+
+ protected static double vcpu(ContainerCluster<?> cluster) {
+ List<Double> vcpus = cluster.getContainers().stream()
+ .filter(c -> c.getHostResource() != null && c.getHostResource().realResources() != null)
+ .map(c -> c.getHostResource().realResources().vcpu())
+ .distinct()
+ .collect(Collectors.toList());
+ // We can only use host resource for calculation if all container nodes in the cluster are homogeneous (in terms of vcpu)
+ if (vcpus.size() != 1 || vcpus.get(0) == 0) return 0;
+ return vcpus.get(0);
+ }
}
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/xml/SearchHandler.java b/config-model/src/main/java/com/yahoo/vespa/model/container/xml/SearchHandler.java
index ec3ab3f9c87..62b447a7139 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/container/xml/SearchHandler.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/container/xml/SearchHandler.java
@@ -11,7 +11,6 @@ import com.yahoo.vespa.model.container.component.chain.ProcessingHandler;
import com.yahoo.vespa.model.container.search.searchchain.SearchChains;
import java.util.List;
-import java.util.stream.Collectors;
/**
* Component definition for {@link com.yahoo.search.handler.SearchHandler}
@@ -52,7 +51,7 @@ class SearchHandler extends ProcessingHandler<SearchChains> {
builder.keepAliveTime(5.0);
double threadPoolSizeFactor = deployState.getProperties().threadPoolSizeFactor();
- double vcpu = vcpu();
+ double vcpu = vcpu(cluster);
if (threadPoolSizeFactor <= 0 || vcpu == 0) {
builder.maxThreads(500);
builder.minThreads(500);
@@ -70,15 +69,6 @@ class SearchHandler extends ProcessingHandler<SearchChains> {
}
}
- private double vcpu() {
- List<Double> vcpus = cluster.getContainers().stream()
- .filter(c -> c.getHostResource() != null && c.getHostResource().realResources() != null)
- .map(c -> c.getHostResource().realResources().vcpu())
- .distinct()
- .collect(Collectors.toList());
- // We can only use host resource for calculation if all container nodes in the cluster are homogeneous (in terms of vcpu)
- if (vcpus.size() != 1 || vcpus.get(0) == 0) return 0;
- return vcpus.get(0);
- }
+
}
}