From 1685cbb1951d2f65181a6e26acd78d22ae45f541 Mon Sep 17 00:00:00 2001 From: Harald Musum Date: Mon, 20 Sep 2021 15:05:04 +0200 Subject: Remove code for only logging when using resource-limits in hosted No apps are using this now, so we will always throw exception if 'resource-limits' is used in services.xml in hosted. Prepare for removing feature flag. --- .../com/yahoo/config/model/api/ModelContext.java | 2 +- .../vespa/model/content/ClusterResourceLimits.java | 13 ++-- .../model/content/cluster/ContentCluster.java | 2 - .../content/cluster/DomResourceLimitsBuilder.java | 19 +----- .../model/content/ClusterResourceLimitsTest.java | 70 +++------------------- .../model/content/FleetControllerClusterTest.java | 3 - .../config/server/deploy/ModelContextImpl.java | 4 +- 7 files changed, 19 insertions(+), 94 deletions(-) diff --git a/config-model-api/src/main/java/com/yahoo/config/model/api/ModelContext.java b/config-model-api/src/main/java/com/yahoo/config/model/api/ModelContext.java index 9e417776c73..49e3bff50b7 100644 --- a/config-model-api/src/main/java/com/yahoo/config/model/api/ModelContext.java +++ b/config-model-api/src/main/java/com/yahoo/config/model/api/ModelContext.java @@ -96,7 +96,7 @@ public interface ModelContext { @ModelFeatureFlag(owners = {"tokle", "bjorncs"}, removeAfter = "7.450") default boolean enableCustomAclMapping() { return true; } @ModelFeatureFlag(owners = {"geirst", "vekterli"}) default int numDistributorStripes() { return 0; } @ModelFeatureFlag(owners = {"arnej"}) default boolean requireConnectivityCheck() { return true; } - @ModelFeatureFlag(owners = {"hmusum"}) default boolean throwIfResourceLimitsSpecified() { return true; } + @ModelFeatureFlag(owners = {"hmusum"}, removeAfter = "7.470") default boolean throwIfResourceLimitsSpecified() { return true; } @ModelFeatureFlag(owners = {"hmusum"}) default double resourceLimitDisk() { return 0.8; } @ModelFeatureFlag(owners = {"hmusum"}) default double resourceLimitMemory() { return 0.8; } @ModelFeatureFlag(owners = {"geirst", "vekterli"}) default double minNodeRatioPerGroup() { return 0.0; } diff --git a/config-model/src/main/java/com/yahoo/vespa/model/content/ClusterResourceLimits.java b/config-model/src/main/java/com/yahoo/vespa/model/content/ClusterResourceLimits.java index dc5e6c9baee..dff47515957 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/content/ClusterResourceLimits.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/content/ClusterResourceLimits.java @@ -1,7 +1,6 @@ // Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.model.content; -import com.yahoo.config.application.api.DeployLogger; import com.yahoo.vespa.model.builder.xml.dom.ModelElement; import com.yahoo.vespa.model.content.cluster.DomResourceLimitsBuilder; @@ -37,20 +36,18 @@ public class ClusterResourceLimits { private final boolean enableFeedBlockInDistributor; private final boolean hostedVespa; - private final boolean throwIfSpecified; - private final DeployLogger deployLogger; private final double resourceLimitDisk; private final double resourceLimitMemory; private ResourceLimits.Builder ctrlBuilder = new ResourceLimits.Builder(); private ResourceLimits.Builder nodeBuilder = new ResourceLimits.Builder(); - public Builder(boolean enableFeedBlockInDistributor, boolean hostedVespa, boolean throwIfSpecified, - DeployLogger deployLogger, double resourceLimitDisk, double resourceLimitMemory) { + public Builder(boolean enableFeedBlockInDistributor, + boolean hostedVespa, + double resourceLimitDisk, + double resourceLimitMemory) { this.enableFeedBlockInDistributor = enableFeedBlockInDistributor; this.hostedVespa = hostedVespa; - this.throwIfSpecified = throwIfSpecified; - this.deployLogger = deployLogger; this.resourceLimitDisk = resourceLimitDisk; this.resourceLimitMemory = resourceLimitMemory; verifyLimits(resourceLimitDisk, resourceLimitMemory); @@ -67,7 +64,7 @@ public class ClusterResourceLimits { private ResourceLimits.Builder createBuilder(ModelElement element) { return element == null ? new ResourceLimits.Builder() - : DomResourceLimitsBuilder.createBuilder(element, hostedVespa, throwIfSpecified, deployLogger); + : DomResourceLimitsBuilder.createBuilder(element, hostedVespa); } public void setClusterControllerBuilder(ResourceLimits.Builder builder) { diff --git a/config-model/src/main/java/com/yahoo/vespa/model/content/cluster/ContentCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/content/cluster/ContentCluster.java index 1f443da51db..a746dc36540 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/content/cluster/ContentCluster.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/content/cluster/ContentCluster.java @@ -123,8 +123,6 @@ public class ContentCluster extends AbstractConfigProducer" + " \n" + @@ -237,8 +187,6 @@ public class ClusterResourceLimitsTest { ClusterResourceLimits.Builder builder = new ClusterResourceLimits.Builder(true, true, - throwIfSpecified, - deployLogger, featureFlags.resourceLimitDisk(), featureFlags.resourceLimitMemory()); return builder.build(new ModelElement((limitsInXml ? clusterXml : noLimitsXml).getDocumentElement())); diff --git a/config-model/src/test/java/com/yahoo/vespa/model/content/FleetControllerClusterTest.java b/config-model/src/test/java/com/yahoo/vespa/model/content/FleetControllerClusterTest.java index cc1b96dc588..e5b757e1514 100644 --- a/config-model/src/test/java/com/yahoo/vespa/model/content/FleetControllerClusterTest.java +++ b/config-model/src/test/java/com/yahoo/vespa/model/content/FleetControllerClusterTest.java @@ -2,7 +2,6 @@ package com.yahoo.vespa.model.content; import com.yahoo.config.model.api.ModelContext; -import com.yahoo.config.model.application.provider.BaseDeployLogger; import com.yahoo.config.model.deploy.DeployState; import com.yahoo.config.model.deploy.TestProperties; import com.yahoo.config.model.test.MockRoot; @@ -28,8 +27,6 @@ public class FleetControllerClusterTest { clusterElement, new ClusterResourceLimits.Builder(enableFeedBlockInDistributor, false, - false, - new BaseDeployLogger(), featureFlags.resourceLimitDisk(), featureFlags.resourceLimitMemory()) .build(clusterElement).getClusterControllerLimits()) diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/ModelContextImpl.java b/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/ModelContextImpl.java index 8aebd42b53c..89987891c61 100644 --- a/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/ModelContextImpl.java +++ b/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/ModelContextImpl.java @@ -183,7 +183,6 @@ public class ModelContextImpl implements ModelContext { private final int maxConcurrentMergesPerContentNode; private final int maxMergeQueueSize; private final int largeRankExpressionLimit; - private final boolean throwIfResourceLimitsSpecified; private final double resourceLimitDisk; private final double resourceLimitMemory; private final double minNodeRatioPerGroup; @@ -211,7 +210,6 @@ public class ModelContextImpl implements ModelContext { this.requireConnectivityCheck = flagValue(source, appId, Flags.REQUIRE_CONNECTIVITY_CHECK); this.maxConcurrentMergesPerContentNode = flagValue(source, appId, Flags.MAX_CONCURRENT_MERGES_PER_NODE); this.maxMergeQueueSize = flagValue(source, appId, Flags.MAX_MERGE_QUEUE_SIZE); - this.throwIfResourceLimitsSpecified = flagValue(source, appId, Flags.THROW_EXCEPTION_IF_RESOURCE_LIMITS_SPECIFIED); this.resourceLimitDisk = flagValue(source, appId, PermanentFlags.RESOURCE_LIMIT_DISK); this.resourceLimitMemory = flagValue(source, appId, PermanentFlags.RESOURCE_LIMIT_MEMORY); this.minNodeRatioPerGroup = flagValue(source, appId, Flags.MIN_NODE_RATIO_PER_GROUP); @@ -241,7 +239,7 @@ public class ModelContextImpl implements ModelContext { @Override public boolean requireConnectivityCheck() { return requireConnectivityCheck; } @Override public int maxConcurrentMergesPerNode() { return maxConcurrentMergesPerContentNode; } @Override public int maxMergeQueueSize() { return maxMergeQueueSize; } - @Override public boolean throwIfResourceLimitsSpecified() { return throwIfResourceLimitsSpecified; } + @Override public boolean throwIfResourceLimitsSpecified() { return true; } @Override public double resourceLimitDisk() { return resourceLimitDisk; } @Override public double resourceLimitMemory() { return resourceLimitMemory; } @Override public double minNodeRatioPerGroup() { return minNodeRatioPerGroup; } -- cgit v1.2.3 From cfb626cac0aae54649f2bc081d3cec641c208dfc Mon Sep 17 00:00:00 2001 From: Harald Musum Date: Mon, 20 Sep 2021 15:17:31 +0200 Subject: Remove flag --- flags/src/main/java/com/yahoo/vespa/flags/Flags.java | 7 ------- 1 file changed, 7 deletions(-) diff --git a/flags/src/main/java/com/yahoo/vespa/flags/Flags.java b/flags/src/main/java/com/yahoo/vespa/flags/Flags.java index 7c9ee425d8f..e59a85dd8ce 100644 --- a/flags/src/main/java/com/yahoo/vespa/flags/Flags.java +++ b/flags/src/main/java/com/yahoo/vespa/flags/Flags.java @@ -234,13 +234,6 @@ public class Flags { "Takes effect on next restart", ZONE_ID, APPLICATION_ID); - public static final UnboundBooleanFlag THROW_EXCEPTION_IF_RESOURCE_LIMITS_SPECIFIED = defineFeatureFlag( - "throw-exception-if-resource-limits-specified", true, - List.of("hmusum"), "2021-06-07", "2021-10-01", - "Whether to throw an exception in hosted Vespa if the application specifies resource limits in services.xml", - "Takes effect on next deployment through controller", - APPLICATION_ID); - public static final UnboundListFlag DEFER_APPLICATION_ENCRYPTION = defineListFlag( "defer-application-encryption", List.of(), String.class, List.of("mpolden", "hakonhall"), "2021-06-23", "2021-10-01", -- cgit v1.2.3