From 87fff82f9c6d2a1f15086ba4b4dbeb474206e645 Mon Sep 17 00:00:00 2001 From: Jon Bratseth Date: Wed, 2 Dec 2020 00:26:08 +0100 Subject: Revert "Bratseth/apply on restart take 10" --- .../main/java/com/yahoo/vespa/model/InstanceResolver.java | 5 ++--- .../src/main/java/com/yahoo/vespa/model/VespaModel.java | 15 --------------- .../java/com/yahoo/vespa/model/container/Container.java | 5 +++-- .../com/yahoo/vespa/model/container/ContainerCluster.java | 1 - .../change/RestartChangesDefersConfigChangesTest.java | 10 ++++------ 5 files changed, 9 insertions(+), 27 deletions(-) (limited to 'config-model') 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 getConfig(Class 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"); @@ -406,19 +404,6 @@ public final class VespaModel extends AbstractConfigProducerRoot implements Seri return (innerCNode != null) ? payload.applyDefaultsFromDef(innerCNode) : payload; } - /** - * 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 5e95403313c..6e470b24f9f 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 @@ -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 c0fd4eb7b05..813247d1ae9 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 @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) { -- cgit v1.2.3