diff options
author | Harald Musum <musum@yahooinc.com> | 2023-04-18 13:27:15 +0200 |
---|---|---|
committer | Harald Musum <musum@yahooinc.com> | 2023-04-18 13:27:15 +0200 |
commit | 63750359c99fb968814fcfd6d2e0aea0ff2ec74f (patch) | |
tree | 97574e789ea2b66bc0ad657774f240b1fb0fcd9d /clustercontroller-core/src/main/java | |
parent | 0e68174077b41501e7cb297a95d6326eb2537d19 (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.java | 10 |
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) |