summaryrefslogtreecommitdiffstats
path: root/config-model
diff options
context:
space:
mode:
authorHarald Musum <musum@yahooinc.com>2022-05-16 12:34:17 +0200
committerHarald Musum <musum@yahooinc.com>2022-05-16 12:34:17 +0200
commit72f77624c1517cdee1390c05ea5f5a8bb7000080 (patch)
treeb645e797a8450f5673ee0a4d06eb18cc5b5696d2 /config-model
parent4eefbd147e96d1dab546d71f44f288d755c2648c (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')
-rw-r--r--config-model/src/main/java/com/yahoo/config/model/deploy/TestProperties.java7
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java8
-rw-r--r--config-model/src/test/java/com/yahoo/config/model/provision/ModelProvisioningTest.java4
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/container/xml/JvmOptionsTest.java44
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");