diff options
author | Harald Musum <musum@verizonmedia.com> | 2021-02-10 13:37:53 +0100 |
---|---|---|
committer | Harald Musum <musum@verizonmedia.com> | 2021-02-10 13:37:53 +0100 |
commit | ef1e8a04a9cc407da5ab1a63a4e9c7b403dc4b32 (patch) | |
tree | f82d3db95f8b98062babba6a4a5f7d11d0364a51 /config-model/src/main/java/com/yahoo/vespa/model/admin/clustercontroller/ClusterControllerContainerCluster.java | |
parent | ae489bc7089f2873041fc76af82e21dad7090f2e (diff) |
Use feature flag for max heap size for cluster controller
Feature flag default is 512, so no change of default value
Diffstat (limited to 'config-model/src/main/java/com/yahoo/vespa/model/admin/clustercontroller/ClusterControllerContainerCluster.java')
-rw-r--r-- | config-model/src/main/java/com/yahoo/vespa/model/admin/clustercontroller/ClusterControllerContainerCluster.java | 21 |
1 files changed, 21 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) { |