diff options
author | Jon Bratseth <bratseth@gmail.com> | 2020-11-25 11:02:29 +0100 |
---|---|---|
committer | Jon Bratseth <bratseth@gmail.com> | 2020-11-25 11:02:29 +0100 |
commit | 57bdfb395a7d94ee077b0badad83e82f30f8ba93 (patch) | |
tree | b9a670784ea57a0f7fd0fde522f0f9c6e20cfdea /config-model | |
parent | 5acca2877f2752ac921bf8a998c7098f5210a38e (diff) |
Set applyOnRestart when appropriate
Diffstat (limited to 'config-model')
3 files changed, 10 insertions, 8 deletions
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 e8b56a6190a..232ac8d99f4 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 @@ -58,7 +58,7 @@ public abstract class Container extends AbstractService implements public static final int BASEPORT = Defaults.getDefaults().vespaWebServicePort(); public static final String SINGLENODE_CONTAINER_SERVICESPEC = "default_singlenode_container"; - /** The cluster this contasiner belongs to, or null if it is not added to any cluster */ + /** The cluster this container belongs to, or null if it is not added to any cluster */ private ContainerCluster owner = null; protected final AbstractConfigProducer parent; @@ -306,9 +306,7 @@ public abstract class Container extends AbstractService implements .port(getRpcPort()) .slobrokId(serviceSlobrokId())) .filedistributor(filedistributorConfig()) - .discriminator((clusterName != null ? clusterName + "." : "" ) + name) - .restartOnDeploy(owner != null && owner.getDeferChangesUntilRestart()); - + .discriminator((clusterName != null ? clusterName + "." : "" ) + name); } /** Returns the jvm args set explicitly for this node */ @@ -330,6 +328,7 @@ public abstract class Container extends AbstractService implements @Override public void getConfig(ComponentsConfig.Builder builder) { + builder.setApplyOnRestart(owner.getDeferChangesUntilRestart()); // Sufficient to set on one config builder.components.addAll(ComponentsConfigGenerator.generate(allEnabledComponents())); } 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 0909376cb18..b74d4668300 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 @@ -408,6 +408,7 @@ public abstract class ContainerCluster<CONTAINER extends Container> @Override public void getConfig(ComponentsConfig.Builder builder) { + builder.setApplyOnRestart(getDeferChangesUntilRestart()); // Sufficient to set on one config builder.components.addAll(ComponentsConfigGenerator.generate(getAllComponents())); builder.components(new ComponentsConfig.Components.Builder().id("com.yahoo.container.core.config.HandlersConfigurerDi$RegistriesHack")); } diff --git a/config-model/src/test/java/com/yahoo/vespa/model/application/validation/change/RestartChangesDefersConfigChangesTest.java b/config-model/src/test/java/com/yahoo/vespa/model/application/validation/change/RestartChangesDefersConfigChangesTest.java index 35aa9a3c988..fda4c54c154 100644 --- a/config-model/src/test/java/com/yahoo/vespa/model/application/validation/change/RestartChangesDefersConfigChangesTest.java +++ b/config-model/src/test/java/com/yahoo/vespa/model/application/validation/change/RestartChangesDefersConfigChangesTest.java @@ -1,9 +1,11 @@ // Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.model.application.validation.change; +import com.yahoo.cloud.config.log.LogdConfig; import com.yahoo.config.model.provision.InMemoryProvisioner; import com.yahoo.config.provision.Environment; import com.yahoo.config.provision.NodeResources; +import com.yahoo.container.ComponentsConfig; import com.yahoo.container.QrConfig; import com.yahoo.vespa.model.VespaModel; import com.yahoo.vespa.model.application.validation.ValidationTester; @@ -26,15 +28,15 @@ public class RestartChangesDefersConfigChangesTest { // Change node count - no restart VespaModel gen2 = tester.deploy(gen1, getServices(4, 3), Environment.prod, null).getFirst(); - var config2 = new QrConfig.Builder(); + var config2 = new ComponentsConfig.Builder(); gen2.getContainerClusters().get("default").getContainers().get(0).getConfig(config2); - assertFalse(config2.build().restartOnDeploy()); + assertFalse(config2.getApplyOnRestart()); // Change memory amount - requires restart VespaModel gen3 = tester.deploy(gen2, getServices(4, 2), Environment.prod, null).getFirst(); - var config3 = new QrConfig.Builder(); + var config3 = new ComponentsConfig.Builder(); gen3.getContainerClusters().get("default").getContainers().get(0).getConfig(config3); - assertTrue(config3.build().restartOnDeploy()); + assertTrue(config3.getApplyOnRestart()); } private static String getServices(int nodes, int memory) { |