diff options
Diffstat (limited to 'config-model')
2 files changed, 23 insertions, 0 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/admin/clustercontroller/ClusterControllerContainerCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/admin/clustercontroller/ClusterControllerContainerCluster.java index 58e5ccd7c3a..ab33c647d5f 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/admin/clustercontroller/ClusterControllerContainerCluster.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/admin/clustercontroller/ClusterControllerContainerCluster.java @@ -1,9 +1,11 @@ // Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.model.admin.clustercontroller; +import com.yahoo.config.model.api.ModelContext; import com.yahoo.config.model.api.Reindexing; import com.yahoo.config.model.deploy.DeployState; import com.yahoo.config.model.producer.AbstractConfigProducer; +import com.yahoo.search.config.QrStartConfig; import com.yahoo.vespa.model.container.ContainerCluster; /** @@ -14,12 +16,14 @@ import com.yahoo.vespa.model.container.ContainerCluster; */ public class ClusterControllerContainerCluster extends ContainerCluster<ClusterControllerContainer> { + private final ModelContext.FeatureFlags featureFlags; private final ReindexingContext reindexingContext; public ClusterControllerContainerCluster( AbstractConfigProducer<?> parent, String subId, String name, DeployState deployState) { super(parent, subId, name, deployState, false); addDefaultHandlersWithVip(); + this.featureFlags = deployState.featureFlags(); this.reindexingContext = createReindexingContext(deployState); } @@ -28,6 +32,23 @@ public class ClusterControllerContainerCluster extends ContainerCluster<ClusterC @Override protected boolean messageBusEnabled() { return false; } + @Override + public void getConfig(QrStartConfig.Builder builder) { + int maxHeapSize = featureFlags.clusterControllerMaxHeapSizeInMb(); + boolean verboseGc = (maxHeapSize < 512); + builder.jvm + .verbosegc(verboseGc) + .availableProcessors(2) + .compressedClassSpaceSize(32) + .minHeapsize(32) + .heapsize(maxHeapSize) + .heapSizeAsPercentageOfPhysicalMemory(0) + .gcopts(getJvmGCOptions().orElse(G1GC)); + if (getEnvironmentVars() != null) { + builder.qrs.env(getEnvironmentVars()); + } + } + public ReindexingContext reindexingContext() { return reindexingContext; } private static ReindexingContext createReindexingContext(DeployState deployState) { diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/ContainerCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/container/ContainerCluster.java index 26612f7a420..5e9125f560d 100755 --- a/config-model/src/main/java/com/yahoo/vespa/model/container/ContainerCluster.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/container/ContainerCluster.java @@ -620,6 +620,8 @@ public abstract class ContainerCluster<CONTAINER extends Container> public void setEnvironmentVars(String environmentVars) { this.environmentVars = environmentVars; } + public String getEnvironmentVars() { return environmentVars; } + public Optional<String> getJvmGCOptions() { return Optional.ofNullable(jvmGCOptions); } public final void setRpcServerEnabled(boolean rpcServerEnabled) { this.rpcServerEnabled = rpcServerEnabled; } |