summaryrefslogtreecommitdiffstats
path: root/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/NodeStateChangeChecker.java
diff options
context:
space:
mode:
Diffstat (limited to 'clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/NodeStateChangeChecker.java')
-rw-r--r--clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/NodeStateChangeChecker.java18
1 files changed, 7 insertions, 11 deletions
diff --git a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/NodeStateChangeChecker.java b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/NodeStateChangeChecker.java
index 7a77bb2b571..2025dfef562 100644
--- a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/NodeStateChangeChecker.java
+++ b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/NodeStateChangeChecker.java
@@ -42,17 +42,14 @@ public class NodeStateChangeChecker {
private final HierarchicalGroupVisiting groupVisiting;
private final ClusterInfo clusterInfo;
private final boolean inMoratorium;
+ private final int maxNumberOfGroupsAllowedToBeDown;
- public NodeStateChangeChecker(
- int requiredRedundancy,
- HierarchicalGroupVisiting groupVisiting,
- ClusterInfo clusterInfo,
- boolean inMoratorium,
- int maxNumberOfGroupsAllowedToBeDown) {
- this.requiredRedundancy = requiredRedundancy;
- this.groupVisiting = groupVisiting;
- this.clusterInfo = clusterInfo;
+ public NodeStateChangeChecker(ContentCluster cluster, boolean inMoratorium) {
+ this.requiredRedundancy = cluster.getDistribution().getRedundancy();
+ this.groupVisiting = new HierarchicalGroupVisitingAdapter(cluster.getDistribution());
+ this.clusterInfo = cluster.clusterInfo();
this.inMoratorium = inMoratorium;
+ this.maxNumberOfGroupsAllowedToBeDown = cluster.maxNumberOfGroupsAllowedToBeDown();
}
public static class Result {
@@ -392,8 +389,7 @@ public class NodeStateChangeChecker {
return allowSettingOfWantedState();
}
- private Result checkStorageNodesForDistributor(
- DistributorNodeInfo distributorNodeInfo, List<StorageNode> storageNodes, Node node) {
+ private Result checkStorageNodesForDistributor(DistributorNodeInfo distributorNodeInfo, List<StorageNode> storageNodes, Node node) {
for (StorageNode storageNode : storageNodes) {
if (storageNode.getIndex() == node.getIndex()) {
Integer minReplication = storageNode.getMinCurrentReplicationFactorOrNull();