diff options
author | Harald Musum <musum@verizonmedia.com> | 2020-11-26 16:46:14 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-11-26 16:46:14 +0100 |
commit | 18faea6776192787513ce9e3219f72239832c8bd (patch) | |
tree | c463ed49a76e80016beb2cc795c654878999ad34 /config-model | |
parent | ffa40d46f1b0911dff10c98e5950117857474416 (diff) |
Revert "Support marking configs as apply on restart"
Diffstat (limited to 'config-model')
5 files changed, 10 insertions, 28 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/InstanceResolver.java b/config-model/src/main/java/com/yahoo/vespa/model/InstanceResolver.java index 11e97bc8a95..a8404b076d4 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/InstanceResolver.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/InstanceResolver.java @@ -31,8 +31,7 @@ import java.util.Map; * * @author Vegard Havdal */ -// TODO: Most of this has been copied to ConfigInstance.Builder.buildInstance() and can be removed from here -// when Model.getConfig is removed +// TODO This functionality should be on VespaModel itself, but we don't have a way right now to apply a config override to a ConfigInstance.Builder class InstanceResolver { private static final java.util.logging.Logger log = java.util.logging.Logger.getLogger(InstanceResolver.class.getName()); @@ -139,6 +138,7 @@ class InstanceResolver { return packagePrefix.value + cKey.getNamespace(); } + enum PackagePrefix { COM_YAHOO("com.yahoo."), NONE(""); @@ -148,5 +148,4 @@ class InstanceResolver { this.value = value; } } - } diff --git a/config-model/src/main/java/com/yahoo/vespa/model/VespaModel.java b/config-model/src/main/java/com/yahoo/vespa/model/VespaModel.java index 9fdaaff9d5e..2ffc24239f9 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/VespaModel.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/VespaModel.java @@ -313,7 +313,6 @@ public final class VespaModel extends AbstractConfigProducerRoot implements Seri * @param configId the config id * @return a config instance of the given type */ - @Override public <CONFIGTYPE extends ConfigInstance> CONFIGTYPE getConfig(Class<CONFIGTYPE> clazz, String configId) { try { ConfigInstance.Builder builder = newBuilder(clazz); @@ -394,7 +393,6 @@ public final class VespaModel extends AbstractConfigProducerRoot implements Seri * @param targetDef The config definition to use for the schema * @return The payload as a list of strings */ - @Deprecated // TODO: Remove after December 2020 @Override public ConfigPayload getConfig(ConfigKey<?> configKey, com.yahoo.vespa.config.buildergen.ConfigDefinition targetDef) { Objects.requireNonNull(targetDef, "config definition cannot be null"); @@ -407,19 +405,6 @@ public final class VespaModel extends AbstractConfigProducerRoot implements Seri } /** - * Resolve config for a given key and config definition - * - * @param configKey the key to resolve. - * @param targetDef the config definition to use for the schema - * @return the resolved config instance - */ - @Override - public ConfigInstance.Builder getConfigInstance(ConfigKey<?> configKey, com.yahoo.vespa.config.buildergen.ConfigDefinition targetDef) { - Objects.requireNonNull(targetDef, "config definition cannot be null"); - return resolveToBuilder(configKey); - } - - /** * Resolves the given config key into a correctly typed ConfigBuilder * and fills in the config from this model. * 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 232ac8d99f4..e8b56a6190a 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 container belongs to, or null if it is not added to any cluster */ + /** The cluster this contasiner belongs to, or null if it is not added to any cluster */ private ContainerCluster owner = null; protected final AbstractConfigProducer parent; @@ -306,7 +306,9 @@ public abstract class Container extends AbstractService implements .port(getRpcPort()) .slobrokId(serviceSlobrokId())) .filedistributor(filedistributorConfig()) - .discriminator((clusterName != null ? clusterName + "." : "" ) + name); + .discriminator((clusterName != null ? clusterName + "." : "" ) + name) + .restartOnDeploy(owner != null && owner.getDeferChangesUntilRestart()); + } /** Returns the jvm args set explicitly for this node */ @@ -328,7 +330,6 @@ 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 8afffcbdce7..5593fba4ef2 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 @@ -413,7 +413,6 @@ 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 fda4c54c154..35aa9a3c988 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,11 +1,9 @@ // 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; @@ -28,15 +26,15 @@ public class RestartChangesDefersConfigChangesTest { // Change node count - no restart VespaModel gen2 = tester.deploy(gen1, getServices(4, 3), Environment.prod, null).getFirst(); - var config2 = new ComponentsConfig.Builder(); + var config2 = new QrConfig.Builder(); gen2.getContainerClusters().get("default").getContainers().get(0).getConfig(config2); - assertFalse(config2.getApplyOnRestart()); + assertFalse(config2.build().restartOnDeploy()); // Change memory amount - requires restart VespaModel gen3 = tester.deploy(gen2, getServices(4, 2), Environment.prod, null).getFirst(); - var config3 = new ComponentsConfig.Builder(); + var config3 = new QrConfig.Builder(); gen3.getContainerClusters().get("default").getContainers().get(0).getConfig(config3); - assertTrue(config3.getApplyOnRestart()); + assertTrue(config3.build().restartOnDeploy()); } private static String getServices(int nodes, int memory) { |