diff options
author | Jon Marius Venstad <jonmv@users.noreply.github.com> | 2022-03-15 11:28:35 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-03-15 11:28:35 +0100 |
commit | e37849db3567f33e131201e6daeba743550b9882 (patch) | |
tree | d896f92d1eee112210ad77f791d29d8fc587d691 /flags | |
parent | 31be6ae0ee943e5598658de92ed0eeb3149a3d5a (diff) | |
parent | 8e72c805a07276f81bc201e45e994060f90dc41d (diff) |
Merge pull request #21680 from vespa-engine/jonmv/major-upgrade-orchestration
Jonmv/major upgrade orchestration
Diffstat (limited to 'flags')
-rw-r--r-- | flags/src/main/java/com/yahoo/vespa/flags/InMemoryFlagSource.java | 4 | ||||
-rw-r--r-- | flags/src/main/java/com/yahoo/vespa/flags/PermanentFlags.java | 14 |
2 files changed, 17 insertions, 1 deletions
diff --git a/flags/src/main/java/com/yahoo/vespa/flags/InMemoryFlagSource.java b/flags/src/main/java/com/yahoo/vespa/flags/InMemoryFlagSource.java index 9a69adfc1a6..d21e21b44c8 100644 --- a/flags/src/main/java/com/yahoo/vespa/flags/InMemoryFlagSource.java +++ b/flags/src/main/java/com/yahoo/vespa/flags/InMemoryFlagSource.java @@ -1,6 +1,8 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.flags; +import com.yahoo.component.AbstractComponent; + import java.util.List; import java.util.Map; import java.util.Optional; @@ -14,7 +16,7 @@ import java.util.concurrent.ConcurrentHashMap; * * @author freva */ -public class InMemoryFlagSource implements FlagSource { +public class InMemoryFlagSource extends AbstractComponent implements FlagSource { private final Map<FlagId, RawFlag> rawFlagsById = new ConcurrentHashMap<>(); public InMemoryFlagSource withBooleanFlag(FlagId flagId, boolean value) { diff --git a/flags/src/main/java/com/yahoo/vespa/flags/PermanentFlags.java b/flags/src/main/java/com/yahoo/vespa/flags/PermanentFlags.java index 225c45fbfdb..72a16a37a8f 100644 --- a/flags/src/main/java/com/yahoo/vespa/flags/PermanentFlags.java +++ b/flags/src/main/java/com/yahoo/vespa/flags/PermanentFlags.java @@ -240,6 +240,20 @@ public class PermanentFlags { "Takes effect immediately.", ZONE_ID, APPLICATION_ID); + public static final UnboundListFlag<String> INCOMPATIBLE_VERSIONS = defineListFlag( + "incompatible-versions", List.of("8"), String.class, + "A list of versions which are binary-incompatible with earlier versions. " + + "A platform version A and an application package compiled against version B are thus incompatible if this " + + "list contains a version X such that (A >= X) != (B >= X). " + + "A version specifying only major, or major and minor, imply 0s for the unspecified parts." + + "This list may also contain '*' wildcards for any suffix of its version number; see the VersionCompatibility " + + "class for further details. " + + "The controller will attempt to couple platform upgrades to application changes if their compile versions are " + + "incompatible with any current deployments. " + + "The config server will refuse to serve config to nodes running a version which is incompatible with their " + + "current wanted node version, i.e., nodes about to upgrade to a version which is incompatible with the current.", + "Takes effect immediately"); + public static final UnboundListFlag<Integer> INCOMPATIBLE_MAJOR_VERSIONS = defineListFlag( "incompatible-major-versions", List.of(8), Integer.class, "A list of major versions which are binary-incompatible and requires an application package to " + |