diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2023-12-05 15:40:44 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-12-05 15:40:44 +0100 |
commit | eb1ccacc4f5dffadff0f716a525c692c1c50f610 (patch) | |
tree | be07aab2fc88524c07a70115193be0b0ea3e7eac | |
parent | 1933696f8d4aaef4181ace2d68e7bc499329d3ce (diff) | |
parent | d38a3b708dba50ab7d3ade75f6c26971dd0f25eb (diff) |
Merge pull request #29554 from vespa-engine/hmusum/fix-jvm-options-when-no-nodes-element
Make sure to set JVM options also when there is no nodes element in s…
-rw-r--r-- | config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java | 1 | ||||
-rw-r--r-- | config-model/src/test/java/com/yahoo/vespa/model/container/xml/JvmOptionsTest.java | 19 |
2 files changed, 20 insertions, 0 deletions
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 5ffd34c6557..104d19d8953 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 @@ -955,6 +955,7 @@ public class ContainerModelBuilder extends ConfigModelBuilder<ContainerModel> { Element nodesElement = XML.getChild(containerElement, "nodes"); if (nodesElement == null) { cluster.addContainers(allocateWithoutNodesTag(cluster, context)); + cluster.setJvmGCOptions(buildJvmGCOptions(context, null)); } else { List<ApplicationContainer> nodes = createNodes(cluster, containerElement, nodesElement, context); 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 e60052cb2a5..10adca12f91 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 @@ -187,6 +187,25 @@ public class JvmOptionsTest extends ContainerModelBuilderTestBase { "Invalid or misplaced JVM GC options in services.xml: -XX:+UseConcMarkSweepGC"); } + @Test + void verify_no_option_no_nodes_element_gives_value_from_feature_flag() throws IOException, SAXException { + String servicesXml = """ + <container version='1.0'> + <search/> + </container> + """; + ApplicationPackage applicationPackage = new MockApplicationPackage.Builder().withServices(servicesXml).build(); + // Need to create VespaModel to make deploy properties have effect + VespaModel model = new VespaModel(new NullConfigModelRegistry(), new DeployState.Builder() + .applicationPackage(applicationPackage) + .properties(new TestProperties().setJvmGCOptions("-XX:+UseParNewGC")) + .build()); + QrStartConfig.Builder qrStartBuilder = new QrStartConfig.Builder(); + model.getConfig(qrStartBuilder, "container/container.0"); + QrStartConfig qrStartConfig = new QrStartConfig(qrStartBuilder); + assertEquals("-XX:+UseParNewGC", qrStartConfig.jvm().gcopts()); + } + private void verifyLoggingOfJvmGcOptions(boolean isHosted, String override, String... invalidOptions) throws IOException, SAXException { verifyLogMessage(isHosted, "gc-options", override, invalidOptions); } |