diff options
author | jonmv <venstad@gmail.com> | 2023-08-28 15:26:13 +0200 |
---|---|---|
committer | jonmv <venstad@gmail.com> | 2023-08-28 15:26:13 +0200 |
commit | 308ee70e0b33057ac9ba5852d7226c731dd52bf8 (patch) | |
tree | 0e3ebc5701b60fdf4041566e064a5a19f298e880 /node-repository | |
parent | 3455f876114c1220ecd04be9cc9e856597f55ea2 (diff) |
Max 100 hosts a time
Diffstat (limited to 'node-repository')
-rw-r--r-- | node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/DiskReplacer.java | 8 |
1 files changed, 4 insertions, 4 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 f53eae4ee2b..0e67027f8ca 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 @@ -30,6 +30,7 @@ import java.util.logging.Logger; public class DiskReplacer extends NodeRepositoryMaintainer { private static final Logger log = Logger.getLogger(DiskReplacer.class.getName()); + private static final int maxBatchSize = 100; private final HostProvisioner hostProvisioner; private final ExecutorService executor = Executors.newCachedThreadPool(new DaemonThreadFactory("disk-replacer")); @@ -42,13 +43,12 @@ public class DiskReplacer extends NodeRepositoryMaintainer { @Override protected double maintain() { NodeList nodes = nodeRepository().nodes().list().rebuilding(true); - int attempts = 0; + int rebuilding = 0; int failures = 0; try (var locked = nodeRepository().nodes().lockAndGetAll(nodes.asList(), Optional.of(Duration.ofSeconds(10)))) { Map<String, Future<Node>> rebuilt = new HashMap<>(); for (NodeMutex node : locked.nodes()) { - if (node.node().status().wantToRebuild()) { - ++attempts; + if (node.node().status().wantToRebuild() && ++rebuilding <= maxBatchSize) { rebuilt.put(node.node().hostname(), executor.submit(() -> hostProvisioner.replaceRootDisk(node.node()))); } } @@ -70,7 +70,7 @@ public class DiskReplacer extends NodeRepositoryMaintainer { } } } - return this.asSuccessFactorDeviation(attempts, failures); + return this.asSuccessFactorDeviation(rebuilding, failures); } @Override |