diff options
author | Harald Musum <musum@yahooinc.com> | 2022-05-16 12:34:17 +0200 |
---|---|---|
committer | Harald Musum <musum@yahooinc.com> | 2022-05-16 12:34:17 +0200 |
commit | 72f77624c1517cdee1390c05ea5f5a8bb7000080 (patch) | |
tree | b645e797a8450f5673ee0a4d06eb18cc5b5696d2 /config-model | |
parent | 4eefbd147e96d1dab546d71f44f288d755c2648c (diff) |
GC usage of FAIL_DEPLOYMENT_WITH_INVALID_JVM_OPTIONS feature flag
Has been true for a while, stop using it and prepare for removal
Diffstat (limited to 'config-model')
4 files changed, 8 insertions, 55 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 37f3a2ef043..aa8a0f6e1ec 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 @@ -66,7 +66,6 @@ public class TestProperties implements ModelContext.Properties, ModelContext.Fea private boolean unorderedMergeChaining = true; private List<String> zoneDnsSuffixes = List.of(); private int maxCompactBuffers = 1; - private boolean failDeploymentWithInvalidJvmOptions = false; private String mergeThrottlingPolicy = "STATIC"; private double persistenceThrottlingWsDecrementFactor = 1.2; private double persistenceThrottlingWsBackoff = 0.95; @@ -122,7 +121,6 @@ public class TestProperties implements ModelContext.Properties, ModelContext.Fea @Override public boolean unorderedMergeChaining() { return unorderedMergeChaining; } @Override public List<String> zoneDnsSuffixes() { return zoneDnsSuffixes; } @Override public int maxCompactBuffers() { return maxCompactBuffers; } - @Override public boolean failDeploymentWithInvalidJvmOptions() { return failDeploymentWithInvalidJvmOptions; } @Override public String mergeThrottlingPolicy() { return mergeThrottlingPolicy; } @Override public double persistenceThrottlingWsDecrementFactor() { return persistenceThrottlingWsDecrementFactor; } @Override public double persistenceThrottlingWsBackoff() { return persistenceThrottlingWsBackoff; } @@ -299,11 +297,6 @@ public class TestProperties implements ModelContext.Properties, ModelContext.Fea return this; } - public TestProperties failDeploymentWithInvalidJvmOptions(boolean fail) { - failDeploymentWithInvalidJvmOptions = fail; - return this; - } - public TestProperties setMergeThrottlingPolicy(String policy) { this.mergeThrottlingPolicy = policy; return this; 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 bb84f809fc4..7261a0b89f9 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 @@ -1115,7 +1115,6 @@ public class ContainerModelBuilder extends ConfigModelBuilder<ContainerModel> { private final Element nodesElement; private final DeployLogger logger; private final boolean legacyOptions; - private final boolean failDeploymentWithInvalidJvmOptions; private final boolean isHosted; public JvmOptions(ContainerCluster<?> cluster, Element nodesElement, DeployState deployState, boolean legacyOptions) { @@ -1123,7 +1122,6 @@ public class ContainerModelBuilder extends ConfigModelBuilder<ContainerModel> { this.nodesElement = nodesElement; this.logger = deployState.getDeployLogger(); this.legacyOptions = legacyOptions; - this.failDeploymentWithInvalidJvmOptions = deployState.featureFlags().failDeploymentWithInvalidJvmOptions(); this.isHosted = deployState.isHosted(); } @@ -1195,7 +1193,7 @@ public class ContainerModelBuilder extends ConfigModelBuilder<ContainerModel> { String message = "Invalid or misplaced JVM options in services.xml: " + String.join(",", invalidOptions) + "." + " See https://docs.vespa.ai/en/reference/services-container.html#jvm"; - if (failDeploymentWithInvalidJvmOptions && isHosted) + if (isHosted) throw new IllegalArgumentException(message); else logger.logApplicationPackage(WARNING, message); @@ -1216,14 +1214,12 @@ public class ContainerModelBuilder extends ConfigModelBuilder<ContainerModel> { private final String jvmGcOptions; private final DeployLogger logger; private final boolean isHosted; - private final boolean failDeploymentWithInvalidJvmOptions; public JvmGcOptions(DeployState deployState, String jvmGcOptions) { this.deployState = deployState; this.jvmGcOptions = jvmGcOptions; this.logger = deployState.getDeployLogger(); this.isHosted = deployState.isHosted(); - this.failDeploymentWithInvalidJvmOptions = deployState.featureFlags().failDeploymentWithInvalidJvmOptions(); } private String build() { @@ -1261,7 +1257,7 @@ public class ContainerModelBuilder extends ConfigModelBuilder<ContainerModel> { String message = "Invalid or misplaced JVM GC options in services.xml: " + String.join(",", options) + "." + " See https://docs.vespa.ai/en/reference/services-container.html#jvm"; - if (failDeploymentWithInvalidJvmOptions && isHosted) + if (isHosted) throw new IllegalArgumentException(message); else logger.logApplicationPackage(WARNING, message); diff --git a/config-model/src/test/java/com/yahoo/config/model/provision/ModelProvisioningTest.java b/config-model/src/test/java/com/yahoo/config/model/provision/ModelProvisioningTest.java index 323bd73186e..f164a1045b6 100644 --- a/config-model/src/test/java/com/yahoo/config/model/provision/ModelProvisioningTest.java +++ b/config-model/src/test/java/com/yahoo/config/model/provision/ModelProvisioningTest.java @@ -1554,14 +1554,14 @@ public class ModelProvisioningTest { "<?xml version='1.0' encoding='utf-8' ?>\n" + "<container version='1.0'>" + " <search/>" + - " <nodes jvmargs='xyz' count='3'/>" + + " <nodes jvmargs='-DfooOption=xyz' count='3'/>" + "</container>"; int numberOfHosts = 3; VespaModelTester tester = new VespaModelTester(); tester.addHosts(numberOfHosts); VespaModel model = tester.createModel(services, true); assertEquals(numberOfHosts, model.getRoot().hostSystem().getHosts().size()); - assertEquals("xyz", model.getContainerClusters().get("container").getContainers().get(0).getAssignedJvmOptions()); + assertEquals("-DfooOption=xyz", model.getContainerClusters().get("container").getContainers().get(0).getAssignedJvmOptions()); } @Test diff --git a/config-model/src/test/java/com/yahoo/vespa/model/container/xml/JvmOptionsTest.java b/config-model/src/test/java/com/yahoo/vespa/model/container/xml/JvmOptionsTest.java index 0cff915266f..b2c29b88e38 100644 --- a/config-model/src/test/java/com/yahoo/vespa/model/container/xml/JvmOptionsTest.java +++ b/config-model/src/test/java/com/yahoo/vespa/model/container/xml/JvmOptionsTest.java @@ -148,24 +148,7 @@ public class JvmOptionsTest extends ContainerModelBuilderTestBase { } @Test - public void requireThatInvalidJvmGcOptionsAreLogged() throws IOException, SAXException { - verifyLoggingOfJvmGcOptions(true, - "-XX:+ParallelGCThreads=8 foo bar", - "foo", "bar"); - verifyLoggingOfJvmGcOptions(true, - "-XX:+UseCMSInitiatingOccupancyOnly foo bar", - "-XX:+UseCMSInitiatingOccupancyOnly", "foo", "bar"); - verifyLoggingOfJvmGcOptions(true, - "-XX:+UseConcMarkSweepGC", - "-XX:+UseConcMarkSweepGC"); - verifyLoggingOfJvmGcOptions(true, - "$(touch /tmp/hello-from-gc-options)", - "$(touch", "/tmp/hello-from-gc-options)"); - - verifyLoggingOfJvmGcOptions(false, - "$(touch /tmp/hello-from-gc-options)", - "$(touch", "/tmp/hello-from-gc-options)"); - + public void requireThatValidJvmGcOptionsAreNotLogged() throws IOException, SAXException { // Valid options, should not log anything verifyLoggingOfJvmGcOptions(true, "-XX:+ParallelGCThreads=8"); verifyLoggingOfJvmGcOptions(true, "-XX:MaxTenuringThreshold=15"); // No + or - after colon @@ -175,7 +158,7 @@ public class JvmOptionsTest extends ContainerModelBuilderTestBase { @Test public void requireThatInvalidJvmGcOptionsFailDeployment() throws IOException, SAXException { try { - buildModelWithJvmOptions(new TestProperties().setHostedVespa(true).failDeploymentWithInvalidJvmOptions(true), + buildModelWithJvmOptions(new TestProperties().setHostedVespa(true), new TestLogger(), "gc-options", "-XX:+ParallelGCThreads=8 foo bar"); @@ -232,26 +215,7 @@ public class JvmOptionsTest extends ContainerModelBuilderTestBase { } @Test - public void requireThatJvmOptionsAreLogged() throws IOException, SAXException { - verifyLoggingOfJvmOptions(true, - "options", - "-Xms2G foo bar", - "foo", "bar"); - verifyLoggingOfJvmOptions(true, - "options", - "$(touch /tmp/hello-from-gc-options)", - "$(touch", "/tmp/hello-from-gc-options)"); - - verifyLoggingOfJvmOptions(true, - "options", - "-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005", - "-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005"); - - verifyLoggingOfJvmOptions(false, - "options", - "$(touch /tmp/hello-from-gc-options)", - "$(touch", "/tmp/hello-from-gc-options)"); - + public void requireThatValidJvmOptionsAreNotLogged() throws IOException, SAXException { // Valid options, should not log anything verifyLoggingOfJvmOptions(true, "options", "-Xms2G"); verifyLoggingOfJvmOptions(true, "options", "-Xlog:gc"); @@ -263,7 +227,7 @@ public class JvmOptionsTest extends ContainerModelBuilderTestBase { @Test public void requireThatInvalidJvmOptionsFailDeployment() throws IOException, SAXException { try { - buildModelWithJvmOptions(new TestProperties().setHostedVespa(true).failDeploymentWithInvalidJvmOptions(true), + buildModelWithJvmOptions(new TestProperties().setHostedVespa(true), new TestLogger(), "options", "-Xms2G foo bar"); |