aboutsummaryrefslogtreecommitdiffstats
path: root/config-model/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'config-model/src/main/java')
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/container/ApplicationContainer.java8
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/container/ApplicationContainerCluster.java2
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/container/NodeFlavorTuning.java8
3 files changed, 11 insertions, 7 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/ApplicationContainer.java b/config-model/src/main/java/com/yahoo/vespa/model/container/ApplicationContainer.java
index e59baf88422..7fe6e97397a 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/container/ApplicationContainer.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/container/ApplicationContainer.java
@@ -3,7 +3,6 @@ package com.yahoo.vespa.model.container;
import com.yahoo.config.model.api.container.ContainerServiceType;
import com.yahoo.config.model.producer.AbstractConfigProducer;
-import com.yahoo.config.provision.Flavor;
import com.yahoo.container.bundle.BundleInstantiationSpecification;
import com.yahoo.osgi.provider.model.ComponentModel;
import com.yahoo.prelude.fastsearch.FS4ResourcePool;
@@ -40,9 +39,12 @@ public final class ApplicationContainer extends Container implements QrStartConf
@Override
public void getConfig(QrStartConfig.Builder builder) {
- if (getHostResource() != null) {
+ ApplicationContainerCluster cluster = (ApplicationContainerCluster) getParent();
+ if (isHostedVespa && getHostResource() != null) {
if (getHostResource().getFlavor().isPresent()) {
- NodeFlavorTuning flavorTuning = new NodeFlavorTuning(getHostResource().getFlavor().get());
+ boolean isCombinedCluster = cluster.getHostClusterId().isPresent();
+ NodeFlavorTuning flavorTuning = new NodeFlavorTuning(getHostResource().getFlavor().get(),
+ cluster.getMemoryPercentage().orElse(isCombinedCluster ? 17 : 60));
flavorTuning.getConfig(builder);
}
}
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/ApplicationContainerCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/container/ApplicationContainerCluster.java
index 0bdc3fbef9a..647b6429a41 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/container/ApplicationContainerCluster.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/container/ApplicationContainerCluster.java
@@ -199,8 +199,6 @@ public final class ApplicationContainerCluster extends ContainerCluster<Applicat
.heapsize(1536);
if (getMemoryPercentage().isPresent()) {
builder.jvm.heapSizeAsPercentageOfPhysicalMemory(getMemoryPercentage().get());
- } else if (isHostedVespa()) {
- builder.jvm.heapSizeAsPercentageOfPhysicalMemory(getHostClusterId().isPresent() ? 17 : 60);
}
}
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/NodeFlavorTuning.java b/config-model/src/main/java/com/yahoo/vespa/model/container/NodeFlavorTuning.java
index 67938b36fd9..381e0bb47f1 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/container/NodeFlavorTuning.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/container/NodeFlavorTuning.java
@@ -12,14 +12,18 @@ import com.yahoo.search.config.QrStartConfig;
public class NodeFlavorTuning implements QrStartConfig.Producer {
private final Flavor flavor;
-
- NodeFlavorTuning(Flavor flavor) {
+ private final double memoryFraction;
+ NodeFlavorTuning(Flavor flavor, double memoryPercentage) {
this.flavor = flavor;
+ this.memoryFraction = memoryPercentage / 100;
}
@Override
public void getConfig(QrStartConfig.Builder builder) {
builder.jvm.availableProcessors(Math.max(2, (int)Math.ceil(flavor.getMinCpuCores())));
+ int heapSize = (int)(memoryFraction*flavor.getMinMainMemoryAvailableGb()*1000);
+ builder.jvm.minHeapsize(heapSize).heapsize(heapSize);
+ builder.jvm.heapSizeAsPercentageOfPhysicalMemory(0);
}
}