aboutsummaryrefslogtreecommitdiffstats
path: root/config-model/src/main/java/com/yahoo/vespa/model/content
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2021-12-18 19:03:20 +0100
committerHenning Baldersheim <balder@yahoo-inc.com>2021-12-18 19:03:20 +0100
commit7bab374768d2eb99f4c9307866b2daa2ea9c7094 (patch)
treea75d0110bd700d159a9ad04c87e8c9c477323335 /config-model/src/main/java/com/yahoo/vespa/model/content
parent874bfb920076b1c704df835fabe961ad7dcf05c6 (diff)
If it is a combined cluster take the memory percentage from the ContainerCluster as reserved.
Diffstat (limited to 'config-model/src/main/java/com/yahoo/vespa/model/content')
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/content/ContentSearchCluster.java4
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/content/cluster/ContentCluster.java15
2 files changed, 11 insertions, 8 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/content/ContentSearchCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/content/ContentSearchCluster.java
index ae9b0657660..4894340930e 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/content/ContentSearchCluster.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/content/ContentSearchCluster.java
@@ -86,10 +86,10 @@ public class ContentSearchCluster extends AbstractConfigProducer<SearchCluster>
public Builder(Map<String, NewDocumentType> documentDefinitions,
Set<NewDocumentType> globallyDistributedDocuments,
- boolean combined, ResourceLimits resourceLimits) {
+ double fractionOfMemoryReserved, ResourceLimits resourceLimits) {
this.documentDefinitions = documentDefinitions;
this.globallyDistributedDocuments = globallyDistributedDocuments;
- this.fractionOfMemoryReserved = combined ? ApplicationContainerCluster.heapSizePercentageOfTotalNodeMemoryWhenCombinedCluster*0.01 : 0.0;
+ this.fractionOfMemoryReserved = fractionOfMemoryReserved;
this.resourceLimits = resourceLimits;
}
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/content/cluster/ContentCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/content/cluster/ContentCluster.java
index 0c0b2b80d79..9ab684c3f9d 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/content/cluster/ContentCluster.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/content/cluster/ContentCluster.java
@@ -131,7 +131,7 @@ public class ContentCluster extends AbstractConfigProducer<AbstractConfigProduce
resourceLimits.getClusterControllerLimits()).build(deployState, c, contentElement.getXml());
c.search = new ContentSearchCluster.Builder(documentDefinitions,
globallyDistributedDocuments,
- isCombined(getClusterId(contentElement), containers),
+ fractionOfMemoryReserved(getClusterId(contentElement), containers),
resourceLimits.getContentNodeLimits()).build(deployState, c, contentElement.getXml());
c.persistenceFactory = new EngineFactoryBuilder().build(contentElement, c);
c.storageNodes = new StorageCluster.Builder().build(deployState, c, w3cContentElement);
@@ -241,11 +241,14 @@ public class ContentCluster extends AbstractConfigProducer<AbstractConfigProduce
}
/** Returns whether this hosts one of the given container clusters */
- private boolean isCombined(String clusterId, Collection<ContainerModel> containers) {
- return containers.stream()
- .map(model -> model.getCluster().getHostClusterId())
- .filter(Optional::isPresent)
- .anyMatch(id -> id.get().equals(clusterId));
+ private double fractionOfMemoryReserved(String clusterId, Collection<ContainerModel> containers) {
+ for (ContainerModel containerModel : containers) {
+ Optional<String> hostClusterId = containerModel.getCluster().getHostClusterId();
+ if (hostClusterId.isPresent() && hostClusterId.get().equals(clusterId) && containerModel.getCluster().getMemoryPercentage().isPresent()) {
+ return containerModel.getCluster().getMemoryPercentage().get() * 0.01;
+ }
+ }
+ return 0.0;
}
private void setupExperimental(ContentCluster cluster, ModelElement experimental) {