diff options
author | Jon Marius Venstad <venstad@gmail.com> | 2021-03-22 11:10:34 +0100 |
---|---|---|
committer | Jon Marius Venstad <venstad@gmail.com> | 2021-03-22 11:10:34 +0100 |
commit | a8bcbe17f3e88d150350a2d6e70843046741cbe9 (patch) | |
tree | 53b70d69178ec404a68d34ba674083ebc48b3764 /config-model | |
parent | d8f9994a519bf15974b83bfb71cd2a56f878bb6c (diff) |
Set jvmargs based on cluster type
Diffstat (limited to 'config-model')
6 files changed, 13 insertions, 4 deletions
diff --git a/config-model/src/main/java/com/yahoo/config/model/deploy/TestProperties.java b/config-model/src/main/java/com/yahoo/config/model/deploy/TestProperties.java index 306f36e7674..64fc6d1dc16 100644 --- a/config-model/src/main/java/com/yahoo/config/model/deploy/TestProperties.java +++ b/config-model/src/main/java/com/yahoo/config/model/deploy/TestProperties.java @@ -71,7 +71,7 @@ public class TestProperties implements ModelContext.Properties, ModelContext.Fea @Override public boolean hostedVespa() { return hostedVespa; } @Override public Zone zone() { return zone; } @Override public Set<ContainerEndpoint> endpoints() { return endpoints; } - @Override public String jvmGCOptions() { return jvmGCOptions; } + @Override public String jvmGCOptions(Optional<ClusterSpec.Type> clusterType) { return jvmGCOptions; } @Override public String feedSequencerType() { return sequencerType; } @Override public boolean isBootstrap() { return false; } @Override public boolean isFirstTimeDeployment() { return false; } diff --git a/config-model/src/main/java/com/yahoo/vespa/model/admin/LogserverContainerCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/admin/LogserverContainerCluster.java index e5d8f9add3f..43b394b7f42 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/admin/LogserverContainerCluster.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/admin/LogserverContainerCluster.java @@ -3,11 +3,14 @@ package com.yahoo.vespa.model.admin; import com.yahoo.config.model.deploy.DeployState; import com.yahoo.config.model.producer.AbstractConfigProducer; +import com.yahoo.config.provision.ClusterSpec; import com.yahoo.search.config.QrStartConfig; import com.yahoo.vespa.model.container.ContainerCluster; import com.yahoo.vespa.model.container.component.Handler; import com.yahoo.vespa.model.container.component.SystemBindingPattern; +import java.util.Optional; + /** * @author hmusum */ @@ -18,7 +21,7 @@ public class LogserverContainerCluster extends ContainerCluster<LogserverContain addDefaultHandlersWithVip(); addLogHandler(); - setJvmGCOptions(deployState.getProperties().jvmGCOptions()); + setJvmGCOptions(deployState.getProperties().jvmGCOptions(Optional.of(ClusterSpec.Type.admin))); } @Override 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 dd16f50b392..c4bd7198e11 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 @@ -5,9 +5,12 @@ 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.config.provision.ClusterSpec; import com.yahoo.search.config.QrStartConfig; import com.yahoo.vespa.model.container.ContainerCluster; +import java.util.Optional; + /** * Container cluster for cluster-controller containers. * @@ -25,7 +28,7 @@ public class ClusterControllerContainerCluster extends ContainerCluster<ClusterC addDefaultHandlersWithVip(); this.featureFlags = deployState.featureFlags(); this.reindexingContext = createReindexingContext(deployState); - setJvmGCOptions(deployState.getProperties().jvmGCOptions()); + setJvmGCOptions(deployState.getProperties().jvmGCOptions(Optional.of(ClusterSpec.Type.admin))); } @Override diff --git a/config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainer.java b/config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainer.java index 45af078f2a3..89182ca28ff 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainer.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainer.java @@ -46,6 +46,7 @@ public class MetricsProxyContainer extends Container implements private final Optional<ClusterMembership> clusterMembership; private final ModelContext.FeatureFlags featureFlags; private final MetricsProxyContainerCluster cluster; + private final String jvmGCOptions; public MetricsProxyContainer(MetricsProxyContainerCluster cluster, HostResource host, int index, DeployState deployState) { @@ -54,6 +55,7 @@ public class MetricsProxyContainer extends Container implements this.clusterMembership = host.spec().membership(); this.featureFlags = deployState.featureFlags(); this.cluster = cluster; + this.jvmGCOptions = deployState.getProperties().jvmGCOptions(clusterMembership.map(membership -> membership.cluster().type())); setProp("clustertype", "admin"); setProp("index", String.valueOf(index)); addNodeSpecificComponents(); @@ -151,6 +153,7 @@ public class MetricsProxyContainer extends Container implements int maxHeapSize = featureFlags.metricsProxyMaxHeapSizeInMb(clusterMembership.get().cluster().type()); builder.jvm .verbosegc(true) + .gcopts(jvmGCOptions) .heapsize(maxHeapSize); } } diff --git a/config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerCluster.java index 194967f9868..e504bee0a30 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerCluster.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerCluster.java @@ -96,7 +96,6 @@ public class MetricsProxyContainerCluster extends ContainerCluster<MetricsProxyC addPlatformBundle(METRICS_PROXY_BUNDLE_FILE); addClusterComponents(); - setJvmGCOptions(deployState.getProperties().jvmGCOptions()); } private void addClusterComponents() { diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java b/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java index 7b3bc498164..ab03a888acf 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java @@ -621,6 +621,7 @@ public class ContainerModelBuilder extends ConfigModelBuilder<ContainerModel> { ? (deployState.isHosted() ? ContainerCluster.CMS : ContainerCluster.G1GC) : options; } + private static String getJvmOptions(ApplicationContainerCluster cluster, Element nodesElement, DeployLogger deployLogger) { String jvmOptions; if (nodesElement.hasAttribute(VespaDomBuilder.JVM_OPTIONS)) { |