summaryrefslogtreecommitdiffstats
path: root/config-model
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@gmail.com>2020-11-25 11:02:29 +0100
committerJon Bratseth <bratseth@gmail.com>2020-11-25 11:02:29 +0100
commit57bdfb395a7d94ee077b0badad83e82f30f8ba93 (patch)
treeb9a670784ea57a0f7fd0fde522f0f9c6e20cfdea /config-model
parent5acca2877f2752ac921bf8a998c7098f5210a38e (diff)
Set applyOnRestart when appropriate
Diffstat (limited to 'config-model')
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/container/Container.java7
-rwxr-xr-xconfig-model/src/main/java/com/yahoo/vespa/model/container/ContainerCluster.java1
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/application/validation/change/RestartChangesDefersConfigChangesTest.java10
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) {