aboutsummaryrefslogtreecommitdiffstats
path: root/clustercontroller-core/src/main/java
diff options
context:
space:
mode:
authorHarald Musum <musum@yahooinc.com>2023-04-18 13:27:15 +0200
committerHarald Musum <musum@yahooinc.com>2023-04-18 13:27:15 +0200
commit63750359c99fb968814fcfd6d2e0aea0ff2ec74f (patch)
tree97574e789ea2b66bc0ad657774f240b1fb0fcd9d /clustercontroller-core/src/main/java
parent0e68174077b41501e7cb297a95d6326eb2537d19 (diff)
FIx retiredOrNotUpGroups()
Diffstat (limited to 'clustercontroller-core/src/main/java')
-rw-r--r--clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/NodeStateChangeChecker.java10
1 files changed, 6 insertions, 4 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 c25f0195e41..b98974cf27f 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
@@ -316,7 +316,7 @@ public class NodeStateChangeChecker {
sortSetIntoList(groupsWithNodesWantedStateNotUp)));
}
- Set<Integer> retiredOrNotUpGroups = retiredOrNotUpGroups(clusterState, MAINTENANCE);
+ Set<Integer> retiredOrNotUpGroups = retiredOrNotUpGroups(clusterState);
int numberOfGroupsToConsider = retiredOrNotUpGroups.size();
// Subtract one group if node is in a group with nodes already retired or not up, since number of such groups wil
// not increase if we allow node to go down
@@ -561,10 +561,12 @@ public class NodeStateChangeChecker {
}
// groups with at least one node with the same state & description
- private Set<Integer> retiredOrNotUpGroups(ClusterState clusterState, State... states) {
+ private Set<Integer> retiredOrNotUpGroups(ClusterState clusterState) {
return clusterInfo.getAllNodeInfos().stream()
- .filter(nodeInfo -> Set.of(states).contains(nodeInfo.getUserWantedState().getState())
- || Set.of(states).contains(clusterState.getNodeState(nodeInfo.getNode()).getState()))
+ .filter(nodeInfo -> (nodeInfo.getUserWantedState().getState() == RETIRED
+ || nodeInfo.getUserWantedState().getState() != UP
+ || clusterState.getNodeState(nodeInfo.getNode()).getState() == RETIRED
+ || clusterState.getNodeState(nodeInfo.getNode()).getState() != UP))
.map(NodeInfo::getGroup)
.filter(Objects::nonNull)
.filter(Group::isLeafGroup)