aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2018-11-02 14:23:17 +0100
committerGitHub <noreply@github.com>2018-11-02 14:23:17 +0100
commitd4572d3347aafa7061ed6104eb56ec5d63e7e9f8 (patch)
tree5e956639d7e34b696d023b43095555afa7e5f306
parentd62eabd50a4c05684eca03f41eac6b20b0976950 (diff)
parent28a18330555aa76601cacc1ec4244e0360aa68d4 (diff)
Merge pull request #7551 from vespa-engine/balder/jvmargs-2-jvm-options
Add jvm-options and prefer over jvmargs
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/AbstractService.java20
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/Service.java4
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/admin/Logserver.java2
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomV20ClientsBuilder.java2
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/VespaDomBuilder.java9
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/clients/VespaSpoolerService.java2
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/container/Container.java8
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java41
-rw-r--r--config-model/src/main/resources/schema/common.rnc1
-rw-r--r--config-model/src/main/resources/schema/containercluster.rnc1
-rw-r--r--config-model/src/test/java/com/yahoo/config/model/provision/ModelProvisioningTest.java74
-rwxr-xr-xconfig-model/src/test/java/com/yahoo/vespa/model/container/ContainerClusterTest.java26
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilderTest.java15
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/content/StorageGroupTest.java2
-rw-r--r--config-model/src/test/schema-test-files/services.xml2
15 files changed, 144 insertions, 65 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/AbstractService.java b/config-model/src/main/java/com/yahoo/vespa/model/AbstractService.java
index fcd9df309a4..60a49598c42 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/AbstractService.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/AbstractService.java
@@ -47,9 +47,9 @@ public abstract class AbstractService extends AbstractConfigProducer<AbstractCon
/** The ports allocated to this Service. */
private List<Integer> ports = new ArrayList<>();
- /** The optional JVM execution args for this Service. */
+ /** The optional JVM execution options for this Service. */
// Please keep non-null, as passed to command line in service startup
- private String jvmArgs = "";
+ private String jvmOptions = "";
/** The optional PRELOAD libraries for this Service. */
// Please keep non-null, as passed to command line in service startup
@@ -399,23 +399,23 @@ public abstract class AbstractService extends AbstractConfigProducer<AbstractCon
}
/** Optional execution args for this service */
- public String getJvmArgs() {
- return jvmArgs;
+ public String getJvmOptions() {
+ return jvmOptions;
}
- public void setJvmArgs(String args) {
- jvmArgs = (args == null) ? "" : args;
+ public void setJvmOptions(String args) {
+ jvmOptions = (args == null) ? "" : args;
}
- public void appendJvmArgs(String args) {
+ public void appendJvmOptions(String args) {
if ((args != null) && ! "".equals(args)) {
- setJvmArgs(jvmArgs + getSeparator(jvmArgs) + args);
+ setJvmOptions(jvmOptions + getSeparator(jvmOptions) + args);
}
}
private static String getSeparator(String current) {
return ("".equals(current)) ? "" : " ";
}
- public void prependJvmArgs(String args) {
+ public void prependJvmOptions(String args) {
if ((args != null) && ! "".equals(args)) {
- setJvmArgs(args + getSeparator(jvmArgs) + jvmArgs);
+ setJvmOptions(args + getSeparator(jvmOptions) + jvmOptions);
}
}
public String getPreLoad() { return preload; }
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/Service.java b/config-model/src/main/java/com/yahoo/vespa/model/Service.java
index 29ec26b06d2..d5d33a08b5d 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/Service.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/Service.java
@@ -98,8 +98,8 @@ public interface Service extends ConfigProducer {
*/
String getHostName();
- /** Optional JVM execution args for this service */
- String getJvmArgs();
+ /** Optional JVM execution options for this service */
+ String getJvmOptions();
/**
* Computes and returns the i'th port for this service, based on
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/admin/Logserver.java b/config-model/src/main/java/com/yahoo/vespa/model/admin/Logserver.java
index 8b98dc9d06a..c354445b690 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/admin/Logserver.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/admin/Logserver.java
@@ -29,7 +29,7 @@ public class Logserver extends AbstractService {
* @return the startup command for the logserver
*/
public String getStartupCommand() {
- return "exec $ROOT/bin/vespa-logserver-start " + getMyJVMArgs() + " " + getJvmArgs();
+ return "exec $ROOT/bin/vespa-logserver-start " + getMyJVMArgs() + " " + getJvmOptions();
}
/**
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomV20ClientsBuilder.java b/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomV20ClientsBuilder.java
index 01dd6495d13..6a02619bdb4 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomV20ClientsBuilder.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomV20ClientsBuilder.java
@@ -75,7 +75,7 @@ public class DomV20ClientsBuilder {
int index = clients.getVespaSpoolers().size();
VespaSpoolerService spoolerService = new VespaSpoolerServiceBuilder(index, new VespaSpooler(feederConfig, spoolConfig)).
build(deployState, spoolerCfg, e);
- if ("".equals(spoolerService.getJvmArgs()) && jvmArgs!=null) spoolerService.setJvmArgs(jvmArgs);
+ if ("".equals(spoolerService.getJvmOptions()) && jvmArgs!=null) spoolerService.setJvmOptions(jvmArgs);
spoolerService.setProp("index", String.valueOf(index));
clients.getVespaSpoolers().add(spoolerService);
} else {
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/VespaDomBuilder.java b/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/VespaDomBuilder.java
index c022f20db70..a6d3809ff64 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/VespaDomBuilder.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/VespaDomBuilder.java
@@ -44,6 +44,7 @@ import java.util.logging.Logger;
public class VespaDomBuilder extends VespaModelBuilder {
public static final String JVMARGS_ATTRIB_NAME = "jvmargs";
+ public static final String JVM_OPTIONS = "jvm-options";
public static final String JVM_GC_OPTIONS = "jvm-gc-options";
public static final String PRELOAD_ATTRIB_NAME = "preload"; // Intended for vespa engineers
public static final String MMAP_NOCORE_LIMIT = "mmap-core-limit"; // Intended for vespa engineers
@@ -143,8 +144,12 @@ public class VespaDomBuilder extends VespaModelBuilder {
{
initializeProducer(t, deployState, producerSpec);
if (producerSpec != null) {
- if (producerSpec.hasAttribute(JVMARGS_ATTRIB_NAME)) {
- t.appendJvmArgs(producerSpec.getAttribute(JVMARGS_ATTRIB_NAME));
+ if (producerSpec.hasAttribute(JVM_OPTIONS)) {
+ t.appendJvmOptions(producerSpec.getAttribute(JVM_OPTIONS));
+ } else {
+ if (producerSpec.hasAttribute(JVMARGS_ATTRIB_NAME)) {
+ t.appendJvmOptions(producerSpec.getAttribute(JVMARGS_ATTRIB_NAME));
+ }
}
if (producerSpec.hasAttribute(PRELOAD_ATTRIB_NAME)) {
t.setPreLoad(producerSpec.getAttribute(PRELOAD_ATTRIB_NAME));
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/clients/VespaSpoolerService.java b/config-model/src/main/java/com/yahoo/vespa/model/clients/VespaSpoolerService.java
index f4287cf982e..378c85dc325 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/clients/VespaSpoolerService.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/clients/VespaSpoolerService.java
@@ -26,7 +26,7 @@ public class VespaSpoolerService extends AbstractService implements SpoolerConfi
}
public String getStartupCommand() {
- return "exec vespaspooler "+getJvmArgs();
+ return "exec vespaspooler "+ getJvmOptions();
}
@Override
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/Container.java b/config-model/src/main/java/com/yahoo/vespa/model/container/Container.java
index ab65c68dea4..e098263119c 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/container/Container.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/container/Container.java
@@ -295,7 +295,7 @@ public class Container extends AbstractService implements
}
public String getStartupCommand() {
- return "PRELOAD=" + getPreLoad() + " exec vespa-start-container-daemon " + getJvmArgs() + " ";
+ return "PRELOAD=" + getPreLoad() + " exec vespa-start-container-daemon " + getJvmOptions() + " ";
}
@Override
@@ -315,15 +315,15 @@ public class Container extends AbstractService implements
/** Returns the jvm arguments this should start with */
@Override
- public String getJvmArgs() {
- String jvmArgs = super.getJvmArgs();
+ public String getJvmOptions() {
+ String jvmArgs = super.getJvmOptions();
return isHostedVespa && hasDocproc()
? ("".equals(jvmArgs) ? defaultHostedJVMArgs : defaultHostedJVMArgs + " " + jvmArgs)
: jvmArgs;
}
/** Returns the jvm args set explicitly for this node */
- public String getAssignedJvmArgs() { return super.getJvmArgs(); }
+ public String getAssignedJvmOptions() { return super.getJvmOptions(); }
private String serviceSlobrokId() {
return "vespa/service/" + getConfigId();
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 5f9b3e875e6..91df3fee6e8 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
@@ -471,6 +471,24 @@ public class ContainerModelBuilder extends ConfigModelBuilder<ContainerModel> {
return ContainerCluster.CMS;
}
}
+ private String getJvmOptions(ContainerCluster cluster, Element nodesElement, DeployLogger deployLogger) {
+ String jvmOptions = "";
+ if (nodesElement.hasAttribute(VespaDomBuilder.JVM_OPTIONS)) {
+ jvmOptions = nodesElement.getAttribute(VespaDomBuilder.JVM_OPTIONS);
+ if (nodesElement.hasAttribute(VespaDomBuilder.JVMARGS_ATTRIB_NAME)) {
+ String jvmArgs = nodesElement.getAttribute(VespaDomBuilder.JVMARGS_ATTRIB_NAME);
+ throw new IllegalArgumentException("You have specified both jvm-options='" + jvmOptions + "'" +
+ " and deprecated jvmargs='" + jvmArgs + "'. Merge jvmargs into jvm-options.");
+ }
+ } else {
+ jvmOptions = nodesElement.getAttribute(VespaDomBuilder.JVMARGS_ATTRIB_NAME);
+ if (incompatibleGCOptions(jvmOptions)) {
+ deployLogger.log(Level.WARNING, "You need to move out your GC related options from 'jvmargs' to 'jvm-gc-options'");
+ cluster.setJvmGCOptions(ContainerCluster.CMS);
+ }
+ }
+ return jvmOptions;
+ }
private void addNodesFromXml(ContainerCluster cluster, Element containerElement, ConfigModelContext context) {
Element nodesElement = XML.getChild(containerElement, "nodes");
if (nodesElement == null) { // default single node on localhost
@@ -479,20 +497,17 @@ public class ContainerModelBuilder extends ConfigModelBuilder<ContainerModel> {
node.setHostResource(host);
node.initService(context.getDeployLogger());
cluster.addContainers(Collections.singleton(node));
- }
- else {
+ } else {
List<Container> nodes = createNodes(cluster, nodesElement, context);
- String jvmArgs = nodesElement.getAttribute(VespaDomBuilder.JVMARGS_ATTRIB_NAME);
- String jvmGCOptions = nodesElement.hasAttribute(VespaDomBuilder.JVM_GC_OPTIONS)
- ? nodesElement.getAttribute(VespaDomBuilder.JVM_GC_OPTIONS)
- : null;
- if (incompatibleGCOptions(jvmArgs)) {
- context.getDeployLogger().log(Level.WARNING, "You need to move out your GC related options from 'jvmargs' to 'jvm-gc-options'");
- cluster.setJvmGCOptions(ContainerCluster.CMS);
- } else {
+ applyNodesTagJvmArgs(nodes, getJvmOptions(cluster, nodesElement, context.getDeployLogger()));
+
+ if ( !cluster.getJvmGCOptions().isPresent()) {
+ String jvmGCOptions = nodesElement.hasAttribute(VespaDomBuilder.JVM_GC_OPTIONS)
+ ? nodesElement.getAttribute(VespaDomBuilder.JVM_GC_OPTIONS)
+ : null;
cluster.setJvmGCOptions(buildJvmGCOptions(context.getDeployState().zone(), jvmGCOptions, context.getDeployState().isHosted()));
}
- applyNodesTagJvmArgs(nodes, jvmArgs);
+
applyRoutingAliasProperties(nodes, cluster);
applyDefaultPreload(nodes, nodesElement);
applyMemoryPercentage(cluster, nodesElement.getAttribute(VespaDomBuilder.Allocated_MEMORY_ATTRIB_NAME));
@@ -693,8 +708,8 @@ public class ContainerModelBuilder extends ConfigModelBuilder<ContainerModel> {
private void applyNodesTagJvmArgs(List<Container> containers, String jvmArgs) {
for (Container container: containers) {
- if (container.getAssignedJvmArgs().isEmpty())
- container.prependJvmArgs(jvmArgs);
+ if (container.getAssignedJvmOptions().isEmpty())
+ container.prependJvmOptions(jvmArgs);
}
}
diff --git a/config-model/src/main/resources/schema/common.rnc b/config-model/src/main/resources/schema/common.rnc
index 32ba67b6429..73882da2b01 100644
--- a/config-model/src/main/resources/schema/common.rnc
+++ b/config-model/src/main/resources/schema/common.rnc
@@ -2,6 +2,7 @@
service.attlist &= attribute hostalias { xsd:NCName }
service.attlist &= attribute baseport { xsd:unsignedShort }?
service.attlist &= attribute jvmargs { text }?
+service.attlist &= attribute jvm-options { text }?
service.attlist &= attribute jvm-gc-options { text }?
# preload is for internal use only
service.attlist &= attribute preload { text }?
diff --git a/config-model/src/main/resources/schema/containercluster.rnc b/config-model/src/main/resources/schema/containercluster.rnc
index 9acb9daaba5..5dbcffce736 100644
--- a/config-model/src/main/resources/schema/containercluster.rnc
+++ b/config-model/src/main/resources/schema/containercluster.rnc
@@ -211,6 +211,7 @@ DocumentApi = element document-api {
NodesOfContainerCluster = element nodes {
attribute jvmargs { text }? &
+ attribute jvm-options { text }? &
attribute jvm-gc-options { text }? &
attribute preload { text }? &
attribute allocated-memory { text }? &
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 743dfc5ca73..f9585224bd6 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
@@ -86,7 +86,7 @@ public class ModelProvisioningTest {
" <handler id='myHandler'>" +
" <component id='injected' />" +
" </handler>" +
- " <nodes count='2' allocated-memory='45%' jvm-gc-options='-XX:+UseParNewGC' jvmargs='-verbosegc' preload='lib/blablamalloc.so'/>" +
+ " <nodes count='2' allocated-memory='45%' jvm-gc-options='-XX:+UseParNewGC' jvm-options='-verbosegc' preload='lib/blablamalloc.so'/>" +
"</jdisc>" +
"</services>";
String hosts ="<hosts>"
@@ -127,16 +127,16 @@ public class ModelProvisioningTest {
assertThat(mydisc2.getContainers().get(1).getConfigId(), is("mydisc2/container.1"));
assertTrue(mydisc2.getContainers().get(1).isInitialized());
- assertThat(mydisc.getContainers().get(0).getJvmArgs(), is(""));
- assertThat(mydisc.getContainers().get(1).getJvmArgs(), is(""));
- assertThat(mydisc.getContainers().get(2).getJvmArgs(), is(""));
+ assertThat(mydisc.getContainers().get(0).getJvmOptions(), is(""));
+ assertThat(mydisc.getContainers().get(1).getJvmOptions(), is(""));
+ assertThat(mydisc.getContainers().get(2).getJvmOptions(), is(""));
assertThat(mydisc.getContainers().get(0).getPreLoad(), is(getDefaults().underVespaHome("lib64/vespa/malloc/libvespamalloc.so")));
assertThat(mydisc.getContainers().get(1).getPreLoad(), is(getDefaults().underVespaHome("lib64/vespa/malloc/libvespamalloc.so")));
assertThat(mydisc.getContainers().get(2).getPreLoad(), is(getDefaults().underVespaHome("lib64/vespa/malloc/libvespamalloc.so")));
assertThat(mydisc.getMemoryPercentage(), is(Optional.empty()));
- assertThat(mydisc2.getContainers().get(0).getJvmArgs(), is("-verbosegc"));
- assertThat(mydisc2.getContainers().get(1).getJvmArgs(), is("-verbosegc"));
+ assertThat(mydisc2.getContainers().get(0).getJvmOptions(), is("-verbosegc"));
+ assertThat(mydisc2.getContainers().get(1).getJvmOptions(), is("-verbosegc"));
assertThat(mydisc2.getContainers().get(0).getPreLoad(), is("lib/blablamalloc.so"));
assertThat(mydisc2.getContainers().get(1).getPreLoad(), is("lib/blablamalloc.so"));
assertThat(mydisc2.getMemoryPercentage(), is(Optional.of(45)));
@@ -261,13 +261,13 @@ public class ModelProvisioningTest {
}
@Test
- public void testCombinedClusterWithJvmArgs() {
+ public void testCombinedClusterWithJvmOptions() {
String xmlWithNodes =
"<?xml version='1.0' encoding='utf-8' ?>" +
"<services>" +
" <container version='1.0' id='container1'>" +
" <document-processing/>" +
- " <nodes of='content1' jvmargs='testarg'/>" +
+ " <nodes of='content1' jvm-options='testoption'/>" +
" </container>" +
" <content version='1.0' id='content1'>" +
" <redundancy>2</redundancy>" +
@@ -284,7 +284,7 @@ public class ModelProvisioningTest {
assertEquals("Nodes in content1", 2, model.getContentClusters().get("content1").getRootGroup().getNodes().size());
assertEquals("Nodes in container1", 2, model.getContainerClusters().get("container1").getContainers().size());
for (Container container : model.getContainerClusters().get("container1").getContainers())
- assertTrue(container.getJvmArgs().contains("testarg"));
+ assertTrue(container.getJvmOptions().contains("testoption"));
}
@Test
@@ -1225,6 +1225,58 @@ public class ModelProvisioningTest {
}
@Test
+ public void testJvmArgs() {
+ String services =
+ "<?xml version='1.0' encoding='utf-8' ?>\n" +
+ "<jdisc version='1.0'>" +
+ " <search/>" +
+ " <nodes jvmargs='xyz' count='3'/>" +
+ "</jdisc>";
+ int numberOfHosts = 3;
+ VespaModelTester tester = new VespaModelTester();
+ tester.addHosts(numberOfHosts);
+ VespaModel model = tester.createModel(services, true);
+ assertEquals(numberOfHosts, model.getRoot().getHostSystem().getHosts().size());
+ assertEquals("xyz", model.getContainerClusters().get("jdisc").getContainers().get(0).getAssignedJvmOptions());
+ }
+
+ @Test
+ public void testJvmOptions() {
+ String services =
+ "<?xml version='1.0' encoding='utf-8' ?>\n" +
+ "<jdisc version='1.0'>" +
+ " <search/>" +
+ " <nodes jvm-options='xyz' count='3'/>" +
+ "</jdisc>";
+ int numberOfHosts = 3;
+ VespaModelTester tester = new VespaModelTester();
+ tester.addHosts(numberOfHosts);
+ VespaModel model = tester.createModel(services, true);
+ assertEquals(numberOfHosts, model.getRoot().getHostSystem().getHosts().size());
+ assertEquals("xyz", model.getContainerClusters().get("jdisc").getContainers().get(0).getAssignedJvmOptions());
+ }
+
+ @Test
+ public void testJvmOptionsOverridesJvmArgs() {
+ String services =
+ "<?xml version='1.0' encoding='utf-8' ?>\n" +
+ "<jdisc version='1.0'>" +
+ " <search/>" +
+ " <nodes jvm-options='xyz' jvmargs='abc' count='3'/>" +
+ "</jdisc>";
+ int numberOfHosts = 3;
+ VespaModelTester tester = new VespaModelTester();
+ tester.addHosts(numberOfHosts);
+ try {
+ tester.createModel(services, true);
+ fail("Expected exception");
+ }
+ catch (IllegalArgumentException e) {
+ assertEquals("You have specified both jvm-options='xyz' and deprecated jvmargs='abc'. Merge jvmargs into jvm-options.", e.getMessage());
+ }
+ }
+
+ @Test
public void testUsingHostaliasWithProvisioner() {
String services =
"<?xml version='1.0' encoding='utf-8' ?>\n" +
@@ -1418,7 +1470,7 @@ public class ModelProvisioningTest {
" <document-processing/>\n" +
" <document-api/>\n" +
" <search/>\n" +
- " <nodes jvmargs=\"-Xms512m -Xmx512m\">\n" +
+ " <nodes jvm-options=\"-Xms512m -Xmx512m\">\n" +
" <node hostalias=\"vespa-1\"/>\n" +
" </nodes>\n" +
" </container>\n" +
@@ -1477,7 +1529,7 @@ public class ModelProvisioningTest {
" <document-processing/>\n" +
" <document-api/>\n" +
" <search/>\n" +
- " <nodes jvmargs=\"-Xms512m -Xmx512m\">\n" +
+ " <nodes jvm-options=\"-Xms512m -Xmx512m\">\n" +
" <node hostalias=\"vespa-1\"/>\n" +
" <node hostalias=\"vespa-2\"/>\n" +
" <node hostalias=\"vespa-3\"/>\n" +
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 c9d89a50449..b4dea09010d 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
@@ -168,15 +168,15 @@ public class ContainerClusterTest {
addContainer(root.deployLogger(), cluster, "c1", "host-c1");
assertEquals(1, cluster.getContainers().size());
Container container = cluster.getContainers().get(0);
- verifyJvmArgs(isHosted, hasDocProc, "", container.getJvmArgs());
- container.setJvmArgs("initial");
- verifyJvmArgs(isHosted, hasDocProc, "initial", container.getJvmArgs());
- container.prependJvmArgs("ignored");
- verifyJvmArgs(isHosted, hasDocProc, "ignored initial", container.getJvmArgs());
- container.appendJvmArgs("override");
- verifyJvmArgs(isHosted, hasDocProc, "ignored initial override", container.getJvmArgs());
- container.setJvmArgs(null);
- verifyJvmArgs(isHosted, hasDocProc, "", container.getJvmArgs());
+ verifyJvmArgs(isHosted, hasDocProc, "", container.getJvmOptions());
+ container.setJvmOptions("initial");
+ verifyJvmArgs(isHosted, hasDocProc, "initial", container.getJvmOptions());
+ container.prependJvmOptions("ignored");
+ verifyJvmArgs(isHosted, hasDocProc, "ignored initial", container.getJvmOptions());
+ container.appendJvmOptions("override");
+ verifyJvmArgs(isHosted, hasDocProc, "ignored initial override", container.getJvmOptions());
+ container.setJvmOptions(null);
+ verifyJvmArgs(isHosted, hasDocProc, "", container.getJvmOptions());
}
@Test
@@ -259,10 +259,10 @@ public class ContainerClusterTest {
ContainerCluster cluster = createContainerCluster(root, false);
addContainer(root.deployLogger(), cluster, "c1", "host-c1");
Container container = cluster.getContainers().get(0);
- container.setJvmArgs("");
- String empty = container.getJvmArgs();
- container.setJvmArgs(null);
- assertEquals(empty, container.getJvmArgs());
+ container.setJvmOptions("");
+ String empty = container.getJvmOptions();
+ container.setJvmOptions(null);
+ assertEquals(empty, container.getJvmOptions());
}
@Test
diff --git a/config-model/src/test/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilderTest.java b/config-model/src/test/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilderTest.java
index efa0d42f014..396fe3e0af5 100644
--- a/config-model/src/test/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilderTest.java
+++ b/config-model/src/test/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilderTest.java
@@ -95,12 +95,17 @@ public class ContainerModelBuilderTest extends ContainerModelBuilderTestBase {
}
private static void verifyIgnoreJvmGCOptions(boolean isHosted) throws IOException, SAXException {
+ verifyIgnoreJvmGCOptionsIfJvmArgs(isHosted, "jvmargs", ContainerCluster.CMS);
+ verifyIgnoreJvmGCOptionsIfJvmArgs(isHosted, "jvm-options", "-XX:+UseG1GC");
+
+ }
+ private static void verifyIgnoreJvmGCOptionsIfJvmArgs(boolean isHosted, String jvmOptionsName, String expectedGC) throws IOException, SAXException {
String servicesXml =
"<jdisc version='1.0'>" +
- " <nodes jvm-gc-options='-XX:+UseG1GC' jvmargs='-XX:+UseParNewGC'>" +
- " <node hostalias='mockhost'/>" +
- " </nodes>" +
- "</jdisc>";
+ " <nodes jvm-gc-options='-XX:+UseG1GC' " + jvmOptionsName + "='-XX:+UseParNewGC'>" +
+ " <node hostalias='mockhost'/>" +
+ " </nodes>" +
+ "</jdisc>";
ApplicationPackage applicationPackage = new MockApplicationPackage.Builder().withServices(servicesXml).build();
// Need to create VespaModel to make deploy properties have effect
final MyLogger logger = new MyLogger();
@@ -115,7 +120,7 @@ public class ContainerModelBuilderTest extends ContainerModelBuilderTestBase {
QrStartConfig.Builder qrStartBuilder = new QrStartConfig.Builder();
model.getConfig(qrStartBuilder, "jdisc/container.0");
QrStartConfig qrStartConfig = new QrStartConfig(qrStartBuilder);
- assertEquals(ContainerCluster.CMS, qrStartConfig.jvm().gcopts());
+ assertEquals(expectedGC, qrStartConfig.jvm().gcopts());
}
@Test
diff --git a/config-model/src/test/java/com/yahoo/vespa/model/content/StorageGroupTest.java b/config-model/src/test/java/com/yahoo/vespa/model/content/StorageGroupTest.java
index 69e2dba556a..31c1e250183 100644
--- a/config-model/src/test/java/com/yahoo/vespa/model/content/StorageGroupTest.java
+++ b/config-model/src/test/java/com/yahoo/vespa/model/content/StorageGroupTest.java
@@ -26,7 +26,7 @@ public class StorageGroupTest {
"<content id=\"storage\">\n" +
" <documents/>" +
" <group>\n" +
- " <node jvmargs=\"foo\" hostalias=\"mockhost\" distribution-key=\"0\"/>\n" +
+ " <node hostalias=\"mockhost\" distribution-key=\"0\"/>\n" +
" <node hostalias=\"mockhost\" distribution-key=\"1\"/>\n" +
" </group>\n" +
"</content>"
diff --git a/config-model/src/test/schema-test-files/services.xml b/config-model/src/test/schema-test-files/services.xml
index 632abe68ab7..43a8d31e2ee 100644
--- a/config-model/src/test/schema-test-files/services.xml
+++ b/config-model/src/test/schema-test-files/services.xml
@@ -209,7 +209,7 @@
</server>
- <nodes jvmargs="-XX:+PrintGCDetails -XX:+PrintGCTimeStamps">
+ <nodes jvm-options="-XX:+PrintGCDetails -XX:+PrintGCTimeStamps">
<node hostalias="host1" />
<node hostalias="host1">
<server-port id="myServer" port="4090" />