summaryrefslogtreecommitdiffstats
path: root/node-repository
diff options
context:
space:
mode:
authorMartin Polden <mpolden@mpolden.no>2023-09-04 10:39:28 +0200
committerMartin Polden <mpolden@mpolden.no>2023-09-04 10:39:28 +0200
commit105fc5ed0b386e27567849d69367e5fc49a901fe (patch)
tree96bd6fd784b363193663cf62a0812ea03ea1f8d9 /node-repository
parent71157edbc0c75b6f69dc6d04bc0759191c94c4f9 (diff)
Return early if there are no candidates
Diffstat (limited to 'node-repository')
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/DiskReplacer.java9
1 files changed, 6 insertions, 3 deletions
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/DiskReplacer.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/DiskReplacer.java
index 392c6a1433f..ab310761140 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/DiskReplacer.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/DiskReplacer.java
@@ -34,10 +34,13 @@ public class DiskReplacer extends NodeRepositoryMaintainer {
@Override
protected double maintain() {
- NodeList nodes = nodeRepository().nodes().list().rebuilding(true);
+ NodeList candidates = nodeRepository().nodes().list().rebuilding(true);
+ if (candidates.isEmpty()) {
+ return 0;
+ }
int failures = 0;
List<Node> rebuilding;
- try (var locked = nodeRepository().nodes().lockAndGetAll(nodes.asList(), Optional.of(Duration.ofSeconds(10)))) {
+ try (var locked = nodeRepository().nodes().lockAndGetAll(candidates.asList(), Optional.of(Duration.ofSeconds(10)))) {
rebuilding = locked.nodes().stream().map(NodeMutex::node).toList();
RebuildResult result = hostProvisioner.replaceRootDisk(rebuilding);
@@ -51,7 +54,7 @@ public class DiskReplacer extends NodeRepositoryMaintainer {
interval() + ": " + Exceptions.toMessageString(entry.getValue()));
}
}
- return this.asSuccessFactorDeviation(rebuilding.size(), failures);
+ return asSuccessFactorDeviation(rebuilding.size(), failures);
}
}