summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2019-10-14 20:57:42 +0200
committerGitHub <noreply@github.com>2019-10-14 20:57:42 +0200
commitdf3f139eed4418df8b104980346f26d0f233ce68 (patch)
treeae83d46f269bbceec0c0f41b98929816e80233f1
parent05872ff6ae45a6b71bb23021939153a4fd9fefd3 (diff)
parente2c38221f0a93298e8f785d927c404607dc91854 (diff)
Merge pull request #10979 from vespa-engine/balder/unify-qrstart-config-generation
Unify qrstart config generation
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/admin/LogserverContainer.java2
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/admin/LogserverContainerCluster.java9
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/admin/clustercontroller/ClusterControllerContainer.java13
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerCluster.java14
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/container/ApplicationContainerCluster.java15
-rwxr-xr-xconfig-model/src/main/java/com/yahoo/vespa/model/container/ContainerCluster.java13
-rwxr-xr-xconfig-model/src/test/java/com/yahoo/vespa/model/container/ContainerClusterTest.java4
7 files changed, 25 insertions, 45 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/admin/LogserverContainer.java b/config-model/src/main/java/com/yahoo/vespa/model/admin/LogserverContainer.java
index 9ea51a83bf1..2a0cfadbfa8 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/admin/LogserverContainer.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/admin/LogserverContainer.java
@@ -15,7 +15,7 @@ public class LogserverContainer extends Container {
public LogserverContainer(AbstractConfigProducer parent) {
super(parent, "" + 0, 0);
addComponent(new AccessLogComponent(AccessLogComponent.AccessLogType.jsonAccessLog, ((LogserverContainerCluster) parent).getName(), true));
- appendJvmOptions("-Xms32m -Xmx512m");
+ appendJvmOptions("-Xms32m");
}
@Override
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 9b57f4ace95..5714d41ef67 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
@@ -4,7 +4,6 @@ package com.yahoo.vespa.model.admin;
import com.yahoo.config.model.deploy.DeployState;
import com.yahoo.config.model.producer.AbstractConfigProducer;
import com.yahoo.container.handler.ThreadpoolConfig;
-import com.yahoo.search.config.QrStartConfig;
import com.yahoo.vespa.model.container.ContainerCluster;
import com.yahoo.vespa.model.container.component.Handler;
@@ -23,14 +22,6 @@ public class LogserverContainerCluster extends ContainerCluster<LogserverContain
@Override
protected void doPrepare(DeployState deployState) { }
- // Switch off verbose:gc, it's very noisy when Xms < Xmx
- @Override
- public void getConfig(QrStartConfig.Builder builder) {
- super.getConfig(builder);
- // This takes effect via vespa-start-container-daemon:configure_gcopts
- builder.jvm.verbosegc(false);
- }
-
@Override
public void getConfig(ThreadpoolConfig.Builder builder) {
builder.maxthreads(10);
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/admin/clustercontroller/ClusterControllerContainer.java b/config-model/src/main/java/com/yahoo/vespa/model/admin/clustercontroller/ClusterControllerContainer.java
index 38b18429f1d..f8b4e1111c7 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/admin/clustercontroller/ClusterControllerContainer.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/admin/clustercontroller/ClusterControllerContainer.java
@@ -9,7 +9,6 @@ import com.yahoo.container.BundlesConfig;
import com.yahoo.container.bundle.BundleInstantiationSpecification;
import com.yahoo.log.LogLevel;
import com.yahoo.osgi.provider.model.ComponentModel;
-import com.yahoo.search.config.QrStartConfig;
import com.yahoo.vespa.config.content.FleetcontrollerConfig;
import com.yahoo.vespa.model.application.validation.RestartConfigs;
import com.yahoo.vespa.model.container.Container;
@@ -28,8 +27,7 @@ import static com.yahoo.vespa.defaults.Defaults.getDefaults;
@RestartConfigs({FleetcontrollerConfig.class, ZookeeperServerConfig.class})
public class ClusterControllerContainer extends Container implements
BundlesConfig.Producer,
- ZookeeperServerConfig.Producer,
- QrStartConfig.Producer
+ ZookeeperServerConfig.Producer
{
private static final ComponentSpecification CLUSTERCONTROLLER_BUNDLE = new ComponentSpecification("clustercontroller-apps");
private static final ComponentSpecification ZKFACADE_BUNDLE = new ComponentSpecification("zkfacade");
@@ -108,13 +106,4 @@ public class ClusterControllerContainer extends Container implements
builder.myid(index());
}
- @Override
- public void getConfig(QrStartConfig.Builder builder) {
- builder.jvm
- .verbosegc(false)
- .availableProcessors(2)
- .heapsize(512)
- .heapSizeAsPercentageOfPhysicalMemory(0);
- }
-
}
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 5d78c3cec75..f0f7796acdb 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
@@ -26,7 +26,6 @@ import com.yahoo.config.provision.Zone;
import com.yahoo.container.handler.ThreadpoolConfig;
import com.yahoo.container.jdisc.ThreadedHttpRequestHandler;
import com.yahoo.osgi.provider.model.ComponentModel;
-import com.yahoo.search.config.QrStartConfig;
import com.yahoo.vespa.model.VespaModel;
import com.yahoo.vespa.model.admin.Admin;
import com.yahoo.vespa.model.admin.monitoring.MetricSet;
@@ -68,7 +67,6 @@ public class MetricsProxyContainerCluster extends ContainerCluster<MetricsProxyC
ApplicationDimensionsConfig.Producer,
ConsumersConfig.Producer,
MonitoringConfig.Producer,
- QrStartConfig.Producer,
ThreadpoolConfig.Producer
{
public static final Logger log = Logger.getLogger(MetricsProxyContainerCluster.class.getName());
@@ -149,18 +147,6 @@ public class MetricsProxyContainerCluster extends ContainerCluster<MetricsProxyC
}
}
- // Switch off verbose:gc, because it's very noisy when Xms < Xmx
- @Override
- public void getConfig(QrStartConfig.Builder builder) {
- super.getConfig(builder);
- // This takes effect via vespa-start-container-daemon:configure_gcopts
- builder.jvm
- .verbosegc(false)
- .availableProcessors(2)
- .heapSizeAsPercentageOfPhysicalMemory(0)
- .heapsize(512);
- }
-
@Override
public void getConfig(ThreadpoolConfig.Builder builder) {
builder.maxthreads(10);
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 414b127d6c4..55f6a0b3825 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
@@ -14,6 +14,7 @@ import com.yahoo.container.jdisc.ContainerMbusConfig;
import com.yahoo.container.jdisc.messagebus.MbusServerProvider;
import com.yahoo.jdisc.http.ServletPathsConfig;
import com.yahoo.osgi.provider.model.ComponentModel;
+import com.yahoo.search.config.QrStartConfig;
import com.yahoo.vespa.config.search.RankProfilesConfig;
import com.yahoo.vespa.config.search.core.RankingConstantsConfig;
import com.yahoo.vespa.defaults.Defaults;
@@ -41,6 +42,7 @@ import java.util.stream.Stream;
*/
public final class ApplicationContainerCluster extends ContainerCluster<ApplicationContainer> implements
BundlesConfig.Producer,
+ QrStartConfig.Producer,
RankProfilesConfig.Producer,
RankingConstantsConfig.Producer,
ServletPathsConfig.Producer,
@@ -178,6 +180,19 @@ public final class ApplicationContainerCluster extends ContainerCluster<Applicat
getDocproc().getConfig(builder);
}
+ @Override
+ public void getConfig(QrStartConfig.Builder builder) {
+ super.getConfig(builder);
+ builder.jvm.verbosegc(true)
+ .availableProcessors(0)
+ .heapsize(1536);
+ if (getMemoryPercentage().isPresent()) {
+ builder.jvm.heapSizeAsPercentageOfPhysicalMemory(getMemoryPercentage().get());
+ } else if (isHostedVespa()) {
+ builder.jvm.heapSizeAsPercentageOfPhysicalMemory(getHostClusterId().isPresent() ? 17 : 60);
+ }
+ }
+
public Optional<TlsSecrets> getTlsSecrets() {
return tlsSecrets;
}
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 4e043b0f2bf..a1aef1c0c91 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
@@ -484,13 +484,12 @@ public abstract class ContainerCluster<CONTAINER extends Container>
@Override
public void getConfig(QrStartConfig.Builder builder) {
- QrStartConfig.Jvm.Builder jvmBuilder = builder.jvm;
- if (getMemoryPercentage().isPresent()) {
- jvmBuilder.heapSizeAsPercentageOfPhysicalMemory(getMemoryPercentage().get());
- } else if (isHostedVespa()) {
- jvmBuilder.heapSizeAsPercentageOfPhysicalMemory(getHostClusterId().isPresent() ? 17 : 60);
- }
- jvmBuilder.gcopts(Objects.requireNonNullElse(jvmGCOptions, G1GC));
+ builder.jvm
+ .verbosegc(false)
+ .availableProcessors(2)
+ .heapsize(512)
+ .heapSizeAsPercentageOfPhysicalMemory(0)
+ .gcopts(Objects.requireNonNullElse(jvmGCOptions, G1GC));
if (environmentVars != null) {
builder.qrs.env(environmentVars);
}
diff --git a/config-model/src/test/java/com/yahoo/vespa/model/container/ContainerClusterTest.java b/config-model/src/test/java/com/yahoo/vespa/model/container/ContainerClusterTest.java
index ec8a810c1a7..695e82daf0b 100755
--- a/config-model/src/test/java/com/yahoo/vespa/model/container/ContainerClusterTest.java
+++ b/config-model/src/test/java/com/yahoo/vespa/model/container/ContainerClusterTest.java
@@ -151,11 +151,11 @@ public class ContainerClusterTest {
ClusterControllerContainerCluster cluster = createClusterControllerCluster(root);
addClusterController(root.deployLogger(), cluster, "host-c1");
assertEquals(1, cluster.getContainers().size());
- ClusterControllerContainer container = (ClusterControllerContainer) cluster.getContainers().get(0);
QrStartConfig.Builder qrBuilder = new QrStartConfig.Builder();
- container.getConfig(qrBuilder);
+ cluster.getConfig(qrBuilder);
QrStartConfig qrStartConfig = new QrStartConfig(qrBuilder);
assertEquals(512, qrStartConfig.jvm().heapsize());
+ assertEquals(0, qrStartConfig.jvm().heapSizeAsPercentageOfPhysicalMemory());
ThreadpoolConfig.Builder tpBuilder = new ThreadpoolConfig.Builder();
cluster.getConfig(tpBuilder);