From ffa10d2d9d24554893318f3a171768f01c85e2c7 Mon Sep 17 00:00:00 2001 From: HÃ¥kon Hallingstad Date: Fri, 8 Jul 2022 16:53:53 +0200 Subject: Define main-chain-graph flag --- flags/src/main/java/com/yahoo/vespa/flags/Flags.java | 10 ++++++++++ .../yahoo/vespa/hosted/provision/maintenance/NodeFailer.java | 4 ++-- 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 f30cfbecc53..78b7f5fff76 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 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; -- cgit v1.2.3