diff options
author | jonmv <venstad@gmail.com> | 2024-05-16 13:26:57 +0200 |
---|---|---|
committer | jonmv <venstad@gmail.com> | 2024-05-16 13:26:57 +0200 |
commit | 19d6fdc546bf433b839a37ce6ea4f2d79799a954 (patch) | |
tree | abbd9e5698d7bf1ba6f03e952f510886cae4015c /clustercontroller-reindexer/src/main/java/ai | |
parent | 9a3ef654bfe4dda2a3c0d74928a29d8e75e35ae9 (diff) |
Allow modifying reindexing speed, and speed 0 halts reindexing
Diffstat (limited to 'clustercontroller-reindexer/src/main/java/ai')
-rw-r--r-- | clustercontroller-reindexer/src/main/java/ai/vespa/reindexing/Reindexer.java | 12 | ||||
-rw-r--r-- | clustercontroller-reindexer/src/main/java/ai/vespa/reindexing/http/ReindexingV1ApiHandler.java | 13 |
2 files changed, 12 insertions, 13 deletions
diff --git a/clustercontroller-reindexer/src/main/java/ai/vespa/reindexing/Reindexer.java b/clustercontroller-reindexer/src/main/java/ai/vespa/reindexing/Reindexer.java index 13ced149839..74e6dfacb00 100644 --- a/clustercontroller-reindexer/src/main/java/ai/vespa/reindexing/Reindexer.java +++ b/clustercontroller-reindexer/src/main/java/ai/vespa/reindexing/Reindexer.java @@ -40,7 +40,7 @@ import static java.util.logging.Level.WARNING; * * @author jonmv */ -public class Reindexer { +class Reindexer { private static final Logger log = Logger.getLogger(Reindexer.class.getName()); @@ -55,8 +55,8 @@ public class Reindexer { private final Clock clock; private final Phaser phaser = new Phaser(2); // Reindexer and visitor. - public Reindexer(Cluster cluster, List<Trigger> ready, ReindexingCurator database, - DocumentAccess access, Metric metric, Clock clock) { + Reindexer(Cluster cluster, List<Trigger> ready, ReindexingCurator database, + DocumentAccess access, Metric metric, Clock clock) { this(cluster, ready, database, @@ -91,12 +91,12 @@ public class Reindexer { } /** Lets the reindexer abort any ongoing visit session, wait for it to complete normally, then exit. */ - public void shutdown() { + void shutdown() { phaser.forceTermination(); // All parties waiting on this phaser are immediately allowed to proceed. } /** Starts and tracks reprocessing of ready document types until done, or interrupted. */ - public void reindex() throws ReindexingLockException { + void reindex() throws ReindexingLockException { if (phaser.isTerminated()) throw new IllegalStateException("Already shut down"); @@ -114,7 +114,7 @@ public class Reindexer { if (trigger.readyAt().isAfter(clock.instant())) log.log(INFO, "Received config for reindexing which is ready in the future — will process later " + "(" + trigger.readyAt() + " is after " + clock.instant() + ")"); - else + else if (trigger.speed() > 0) progress(trigger.type(), trigger.speed(), reindexing, new AtomicReference<>(reindexing.get().status().get(trigger.type()))); if (phaser.isTerminated()) diff --git a/clustercontroller-reindexer/src/main/java/ai/vespa/reindexing/http/ReindexingV1ApiHandler.java b/clustercontroller-reindexer/src/main/java/ai/vespa/reindexing/http/ReindexingV1ApiHandler.java index ca9f317e840..35002c700ea 100644 --- a/clustercontroller-reindexer/src/main/java/ai/vespa/reindexing/http/ReindexingV1ApiHandler.java +++ b/clustercontroller-reindexer/src/main/java/ai/vespa/reindexing/http/ReindexingV1ApiHandler.java @@ -99,13 +99,12 @@ public class ReindexingV1ApiHandler extends ThreadedHttpRequestHandler implement } private static String toString(Reindexing.State state) { - switch (state) { - case READY: return "pending"; - case RUNNING: return "running"; - case SUCCESSFUL: return "successful"; - case FAILED: return "failed"; - default: throw new IllegalArgumentException("Unexpected state '" + state + "'"); - } + return switch (state) { + case READY -> "pending"; + case RUNNING -> "running"; + case SUCCESSFUL -> "successful"; + case FAILED -> "failed"; + }; } } |