diff options
author | Valerij Fredriksen <valerijf@yahooinc.com> | 2022-10-13 15:44:40 +0200 |
---|---|---|
committer | Valerij Fredriksen <valerijf@yahooinc.com> | 2022-10-13 15:56:53 +0200 |
commit | 1b39a0ad7fbb7243e0e58869973d70c511792252 (patch) | |
tree | 80c5e47c765af3bf638d41fa7388185b6c32746d /node-repository/src/main/java | |
parent | d3fefa3ab3db39b713aec3c7cd186c81b468741e (diff) |
Remove node failing for ready nodes
Diffstat (limited to 'node-repository/src/main/java')
-rw-r--r-- | node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/NodeFailer.java | 63 |
1 files changed, 3 insertions, 60 deletions
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 3e7abe8f053..32eac49a288 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 @@ -77,23 +77,6 @@ public class NodeFailer extends NodeRepositoryMaintainer { int throttledHostFailures = 0; int throttledNodeFailures = 0; - // Ready nodes - try (Mutex lock = nodeRepository().nodes().lockUnallocated()) { - for (FailingNode failing : findReadyFailingNodes()) { - attempts++; - if (throttle(failing.node())) { - failures++; - if (failing.node().type().isHost()) - throttledHostFailures++; - else - throttledNodeFailures++; - continue; - } - nodeRepository().nodes().fail(failing.node().hostname(), Agent.NodeFailer, failing.reason()); - } - } - - // Active nodes for (FailingNode failing : findActiveFailingNodes()) { attempts++; if (!failAllowedFor(failing.node().type())) continue; @@ -116,22 +99,6 @@ public class NodeFailer extends NodeRepositoryMaintainer { return asSuccessFactor(attempts, failures); } - private Collection<FailingNode> findReadyFailingNodes() { - Set<FailingNode> failingNodes = new HashSet<>(); - for (Node node : nodeRepository().nodes().list(Node.State.ready)) { - Node hostNode = node.parentHostname().flatMap(parent -> nodeRepository().nodes().node(parent)).orElse(node); - List<String> failureReports = reasonsToFailHost(hostNode); - if (failureReports.size() > 0) { - if (hostNode.equals(node)) { - failingNodes.add(new FailingNode(node, "Host has failure reports: " + failureReports)); - } else { - failingNodes.add(new FailingNode(node, "Parent (" + hostNode + ") has failure reports: " + failureReports)); - } - } - } - return failingNodes; - } - private Collection<FailingNode> findActiveFailingNodes() { Set<FailingNode> failingNodes = new HashSet<>(); NodeList activeNodes = nodeRepository().nodes().list(Node.State.active); @@ -150,7 +117,7 @@ public class NodeFailer extends NodeRepositoryMaintainer { for (Node node : activeNodes) { if (allSuspended(node, activeNodes)) { - Node host = node.parentHostname().flatMap(parent -> activeNodes.node(parent)).orElse(node); + Node host = node.parentHostname().flatMap(activeNodes::node).orElse(node); if (host.type().isHost()) { List<String> failureReports = reasonsToFailHost(host); if ( ! failureReports.isEmpty()) { @@ -175,7 +142,7 @@ public class NodeFailer extends NodeRepositoryMaintainer { /** Returns whether node has any kind of hardware issue */ static boolean hasHardwareIssue(Node node, NodeList allNodes) { - Node host = node.parentHostname().flatMap(parent -> allNodes.node(parent)).orElse(node); + Node host = node.parentHostname().flatMap(allNodes::node).orElse(node); return reasonsToFailHost(host).size() > 0; } @@ -344,30 +311,6 @@ public class NodeFailer extends NodeRepositoryMaintainer { } - private static class FailingNode { - - private final Node node; - private final String reason; - - public FailingNode(Node node, String reason) { - this.node = node; - this.reason = reason; - } - - public Node node() { return node; } - public String reason() { return reason; } - - @Override - public boolean equals(Object other) { - if ( ! (other instanceof FailingNode)) return false; - return ((FailingNode)other).node().equals(this.node()); - } - - @Override - public int hashCode() { - return node.hashCode(); - } - - } + private record FailingNode(Node node, String reason) { } } |