aboutsummaryrefslogtreecommitdiffstats
path: root/flags
diff options
context:
space:
mode:
Diffstat (limited to 'flags')
-rw-r--r--flags/src/main/java/com/yahoo/vespa/flags/FetchVector.java6
-rw-r--r--flags/src/main/java/com/yahoo/vespa/flags/Flags.java6
-rw-r--r--flags/src/test/java/com/yahoo/vespa/flags/json/FlagDataTest.java6
3 files changed, 14 insertions, 4 deletions
diff --git a/flags/src/main/java/com/yahoo/vespa/flags/FetchVector.java b/flags/src/main/java/com/yahoo/vespa/flags/FetchVector.java
index 866d4782a2a..5897a5ab58b 100644
--- a/flags/src/main/java/com/yahoo/vespa/flags/FetchVector.java
+++ b/flags/src/main/java/com/yahoo/vespa/flags/FetchVector.java
@@ -84,8 +84,12 @@ public class FetchVector {
public boolean isEmpty() { return map.isEmpty(); }
- /** Returns a new FetchVector, identical to {@code this} except for its value in {@code dimension}. */
+ /**
+ * Returns a new FetchVector, identical to {@code this} except for its value in {@code dimension}.
+ * Dimension is removed if the value is null.
+ */
public FetchVector with(Dimension dimension, String value) {
+ if (value == null) return makeFetchVector(merged -> merged.remove(dimension));
return makeFetchVector(merged -> merged.put(dimension, value));
}
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 c97edf9ef3d..632c571cb1f 100644
--- a/flags/src/main/java/com/yahoo/vespa/flags/Flags.java
+++ b/flags/src/main/java/com/yahoo/vespa/flags/Flags.java
@@ -195,9 +195,9 @@ public class Flags {
public static final UnboundBooleanFlag RESTRICT_ACQUIRING_NEW_PRIVILEGES = defineFeatureFlag(
"restrict-acquiring-new-privileges", false,
- "Whether docker daemon should restrict containers from acquiring new privileges",
- "Takes effect on next host admin tick",
- HOSTNAME);
+ "Whether docker container processes should be prevented from acquiring new privileges",
+ "Takes effect on container creation",
+ APPLICATION_ID, HOSTNAME);
public static final UnboundListFlag<String> AUDITED_PATHS = defineListFlag(
"audited-paths", List.of(), String.class,
diff --git a/flags/src/test/java/com/yahoo/vespa/flags/json/FlagDataTest.java b/flags/src/test/java/com/yahoo/vespa/flags/json/FlagDataTest.java
index 9eaa4ae4504..7f939d10bb3 100644
--- a/flags/src/test/java/com/yahoo/vespa/flags/json/FlagDataTest.java
+++ b/flags/src/test/java/com/yahoo/vespa/flags/json/FlagDataTest.java
@@ -64,6 +64,12 @@ public class FlagDataTest {
.with(FetchVector.Dimension.HOSTNAME, "host1")
.with(FetchVector.Dimension.APPLICATION_ID, "app3"));
+ // Verify unsetting a dimension with null works.
+ verify(Optional.of("true"), vector
+ .with(FetchVector.Dimension.HOSTNAME, "host1")
+ .with(FetchVector.Dimension.APPLICATION_ID, "app3")
+ .with(FetchVector.Dimension.APPLICATION_ID, null));
+
// No rules apply if zone is overridden to an unknown zone
verify(Optional.empty(), vector.with(FetchVector.Dimension.ZONE_ID, "unknown zone"));
}