summaryrefslogtreecommitdiffstats
path: root/application-model
diff options
context:
space:
mode:
authorHåkon Hallingstad <hakon@verizonmedia.com>2021-01-22 15:54:23 +0100
committerHåkon Hallingstad <hakon@verizonmedia.com>2021-01-22 15:54:23 +0100
commit27e316ebbcea4bbee612d40166e7a0f7a007acc7 (patch)
treeb50f9c9647adc9c27b41895e0b9212a58b5f0832 /application-model
parent8612ccf19dbfdcaec328a1743142ded1ab85274f (diff)
Support delegating content node suspension to cluster controller
This PR introduces a new flag group-suspension, which if true, enables: - Instead of allowing at most one storagenode to suspend at any given time, it will now ignore storagenode, searchnode, and distributor service clusters, and rely on the cluster controller to allow or deny the request to suspend. This will increase the load on the cluster controllers. Combined with earlier changes to the cluster controller, this new flag effectively guard the feature of allowing all nodes within a hierarchical group to suspend concurrently. I also took the opportunity to tune related policies: - Allow at most one config server and controller to be down at any given time. This is actually a no-op, since it was effectivelly equal to the older policy of 10% down. - Allows 20% of all host-admins to be down, not just tenant host-admins. This is effectively equal to the old policy of 10% except that it may allow 2 proxy host-admins to go down at the same time. Should be fine.
Diffstat (limited to 'application-model')
-rw-r--r--application-model/src/main/java/com/yahoo/vespa/applicationmodel/ServiceType.java6
1 files changed, 6 insertions, 0 deletions
diff --git a/application-model/src/main/java/com/yahoo/vespa/applicationmodel/ServiceType.java b/application-model/src/main/java/com/yahoo/vespa/applicationmodel/ServiceType.java
index f01d3c3b3fb..92bdd0f21a0 100644
--- a/application-model/src/main/java/com/yahoo/vespa/applicationmodel/ServiceType.java
+++ b/application-model/src/main/java/com/yahoo/vespa/applicationmodel/ServiceType.java
@@ -16,6 +16,12 @@ public class ServiceType {
public static final ServiceType HOST_ADMIN = new ServiceType("hostadmin");
public static final ServiceType CONFIG_SERVER = new ServiceType("configserver");
public static final ServiceType CONTROLLER = new ServiceType("controller");
+ public static final ServiceType TRANSACTION_LOG_SERVER = new ServiceType("transactionlogserver");
+ public static final ServiceType CLUSTER_CONTROLLER = new ServiceType("container-clustercontroller");
+ public static final ServiceType DISTRIBUTOR = new ServiceType("distributor");
+ public static final ServiceType SEARCH = new ServiceType("searchnode");
+ public static final ServiceType STORAGE = new ServiceType("storagenode");
+ public static final ServiceType METRICS_PROXY = new ServiceType("metricsproxy-container");
private final String id;