diff options
author | Martin Polden <mpolden@mpolden.no> | 2021-04-07 09:09:50 +0200 |
---|---|---|
committer | Martin Polden <mpolden@mpolden.no> | 2021-04-07 16:54:14 +0200 |
commit | 2703edf29cb53c8a0ce171c6b5fbaad38d393a45 (patch) | |
tree | 023c1b6d7a06966ac7e86a8a77acc985eb368282 /node-repository | |
parent | d48615167c5ecccbc820c83567873d8238ec2b13 (diff) |
Less custom NodeList matching
Diffstat (limited to 'node-repository')
6 files changed, 11 insertions, 11 deletions
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/NodeList.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/NodeList.java index 197193fafa9..24f94b9d63b 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/NodeList.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/NodeList.java @@ -129,6 +129,11 @@ public class NodeList extends AbstractFilteringList<Node, NodeList> { return matching(node -> node.allocation().map(a -> a.owner().equals(application)).orElse(false)); } + /** Returns the subset of nodes allocated to a tester instance */ + public NodeList tester() { + return matching(node -> node.allocation().isPresent() && node.allocation().get().owner().instance().isTester()); + } + /** Returns the subset of nodes matching the given node type(s) */ public NodeList nodeType(NodeType first, NodeType... rest) { if (rest.length == 0) { diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/NodeRepoStats.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/NodeRepoStats.java index ca18028ad5a..05a98c5b4da 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/NodeRepoStats.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/NodeRepoStats.java @@ -83,7 +83,7 @@ public class NodeRepoStats { Map<String, NodeMetricSnapshot> snapshotsByHost = byHost(allNodeTimeseries); for (var applicationNodes : allNodes.state(Node.State.active) .nodeType(NodeType.tenant) - .matching(node -> ! node.allocation().get().owner().instance().isTester()) + .not().tester() .groupingBy(node -> node.allocation().get().owner()).entrySet()) { NodeResources totalResources = NodeResources.zero(); diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/FailedExpirer.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/FailedExpirer.java index fb31d51abfc..e2316f96c16 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/FailedExpirer.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/FailedExpirer.java @@ -97,7 +97,7 @@ public class FailedExpirer extends NodeRepositoryMaintainer { List<String> unparkedChildren = !candidate.type().isHost() ? List.of() : nodeRepository.nodes().list() .childrenOf(candidate) - .matching(node -> node.state() != Node.State.parked) + .not().state(Node.State.parked) .mapToList(Node::hostname); if (unparkedChildren.isEmpty()) { diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/NodeHealthTracker.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/NodeHealthTracker.java index 2950de285b9..fe2fb5229f9 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/NodeHealthTracker.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/NodeHealthTracker.java @@ -78,7 +78,7 @@ public class NodeHealthTracker extends NodeRepositoryMaintainer { private void updateActiveNodeDownState() { NodeList activeNodes = nodeRepository().nodes().list(Node.State.active); serviceMonitor.getServiceModelSnapshot().getServiceInstancesByHostName().forEach((hostname, serviceInstances) -> { - Optional<Node> node = activeNodes.matching(n -> n.hostname().equals(hostname.toString())).first(); + Optional<Node> node = activeNodes.node(hostname.toString()); if (node.isEmpty()) return; // Already correct record, nothing to do diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/NodeRepositoryMaintainer.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/NodeRepositoryMaintainer.java index 025c8be449c..0a1f6961f9f 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/NodeRepositoryMaintainer.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/NodeRepositoryMaintainer.java @@ -44,7 +44,7 @@ public abstract class NodeRepositoryMaintainer extends Maintainer { return nodeRepository().nodes() .list(Node.State.active) .nodeType(NodeType.tenant) - .matching(node -> ! node.allocation().get().owner().instance().isTester()) + .not().tester() .groupingBy(node -> node.allocation().get().owner()); } diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/node/Nodes.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/node/Nodes.java index f12699e0d81..72597a831ff 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/node/Nodes.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/node/Nodes.java @@ -15,7 +15,6 @@ import com.yahoo.vespa.hosted.provision.NoSuchNodeException; import com.yahoo.vespa.hosted.provision.Node; import com.yahoo.vespa.hosted.provision.NodeList; import com.yahoo.vespa.hosted.provision.NodeMutex; -import com.yahoo.vespa.hosted.provision.NodeRepository; import com.yahoo.vespa.hosted.provision.maintenance.NodeFailer; import com.yahoo.vespa.hosted.provision.node.filter.NodeFilter; import com.yahoo.vespa.hosted.provision.node.filter.NodeListFilter; @@ -360,9 +359,7 @@ public class Nodes { * Moves a host to breakfixed state, removing any children. */ public List<Node> breakfixRecursively(String hostname, Agent agent, String reason) { - Node node = node(hostname).orElseThrow(() -> - new NoSuchNodeException("Could not breakfix " + hostname + ": Node not found")); - + Node node = node(hostname).orElseThrow(() -> new NoSuchNodeException("Could not breakfix " + hostname + ": Node not found")); try (Mutex lock = lockUnallocated()) { requireBreakfixable(node); List<Node> removed = removeChildren(node, false); @@ -389,9 +386,7 @@ public class Nodes { private Node move(String hostname, boolean keepAllocation, Node.State toState, Agent agent, Optional<String> reason, NestedTransaction transaction) { - Node node = node(hostname).orElseThrow(() -> - new NoSuchNodeException("Could not move " + hostname + " to " + toState + ": Node not found")); - + Node node = node(hostname).orElseThrow(() -> new NoSuchNodeException("Could not move " + hostname + " to " + toState + ": Node not found")); if (!keepAllocation && node.allocation().isPresent()) { node = node.withoutAllocation(); } |