aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Musum <musum@verizonmedia.com>2022-07-08 21:26:29 +0200
committerGitHub <noreply@github.com>2022-07-08 21:26:29 +0200
commitf97130213c9a2546788a5e5a6299cdbbd7fee94e (patch)
tree8d602e369e2e54e5b6fd82db3fe2956ad621f7a7
parent6c9a47066dcb521752951f47beb5a7442fcd2ae3 (diff)
parentffa10d2d9d24554893318f3a171768f01c85e2c7 (diff)
Merge pull request #23440 from vespa-engine/hakonhall/define-main-chain-graph-flagv8.15.63
Define main-chain-graph flag
-rw-r--r--flags/src/main/java/com/yahoo/vespa/flags/Flags.java10
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/NodeFailer.java4
2 files changed, 12 insertions, 2 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 7c940c95feb..bbe11e18d93 100644
--- a/flags/src/main/java/com/yahoo/vespa/flags/Flags.java
+++ b/flags/src/main/java/com/yahoo/vespa/flags/Flags.java
@@ -15,6 +15,7 @@ import java.util.TreeMap;
import static com.yahoo.vespa.flags.FetchVector.Dimension.APPLICATION_ID;
import static com.yahoo.vespa.flags.FetchVector.Dimension.CONSOLE_USER_EMAIL;
import static com.yahoo.vespa.flags.FetchVector.Dimension.HOSTNAME;
+import static com.yahoo.vespa.flags.FetchVector.Dimension.NODE_TYPE;
import static com.yahoo.vespa.flags.FetchVector.Dimension.TENANT_ID;
import static com.yahoo.vespa.flags.FetchVector.Dimension.VESPA_VERSION;
import static com.yahoo.vespa.flags.FetchVector.Dimension.ZONE_ID;
@@ -44,6 +45,15 @@ public class Flags {
private static volatile TreeMap<FlagId, FlagDefinition> flags = new TreeMap<>();
+ public static final UnboundBooleanFlag MAIN_CHAIN_GRAPH = defineFeatureFlag(
+ "main-chain-graph", false,
+ List.of("hakonhall"), "2022-07-06", "2022-09-05",
+ "Whether to run all tasks in the main task chain up to the one failing to converge (false), or " +
+ "run all tasks in the main task chain whose dependencies have converged (true). And when suspending, " +
+ "whether to run the tasks in sequence (false) or in reverse sequence (true).",
+ "On first tick of the main chain after (re)start of host admin.",
+ ZONE_ID, NODE_TYPE, HOSTNAME);
+
public static final UnboundDoubleFlag DEFAULT_TERM_WISE_LIMIT = defineDoubleFlag(
"default-term-wise-limit", 1.0,
List.of("baldersheim"), "2020-12-02", "2023-01-01",
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/NodeFailer.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/NodeFailer.java
index f9b3dae72c5..af62579b942 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/NodeFailer.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/NodeFailer.java
@@ -274,8 +274,8 @@ public class NodeFailer extends NodeRepositoryMaintainer {
}
}
- // In a dynamically provisioned zone the failing of an active child node takes ~10 minutes,
- // so perhaps this should be done in parallel.
+ // In a dynamically provisioned zone the failing of the first child may require a new host to be provisioned,
+ // so failActive() may take a long time to complete, but the remaining children should be fast.
activeChildrenToFail.forEach(this::failActive);
return false;