aboutsummaryrefslogtreecommitdiffstats
path: root/clustercontroller-reindexer/src/main/java/ai
diff options
context:
space:
mode:
authorjonmv <venstad@gmail.com>2024-05-16 13:26:57 +0200
committerjonmv <venstad@gmail.com>2024-05-16 13:26:57 +0200
commit19d6fdc546bf433b839a37ce6ea4f2d79799a954 (patch)
treeabbd9e5698d7bf1ba6f03e952f510886cae4015c /clustercontroller-reindexer/src/main/java/ai
parent9a3ef654bfe4dda2a3c0d74928a29d8e75e35ae9 (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.java12
-rw-r--r--clustercontroller-reindexer/src/main/java/ai/vespa/reindexing/http/ReindexingV1ApiHandler.java13
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";
+ };
}
}