diff options
author | Jon Marius Venstad <jonmv@users.noreply.github.com> | 2020-12-09 14:58:40 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-12-09 14:58:40 +0100 |
commit | 738b5dbd6607614232c0bf147ffbcc9d77da7f8f (patch) | |
tree | 270d5b36ef804d11741cc9d65208031f7a64d54c /clustercontroller-reindexer/src/main | |
parent | b3a1ba0cd48bdad64d672a03ad69551fad942670 (diff) | |
parent | f83b66ff58d911eb3ced062bc89a65dfee9362ec (diff) |
Merge pull request #15754 from vespa-engine/jonmv/reindexing-aggressiveness-in-feature-flag
Control reindexer resource usage with a feature flag
Diffstat (limited to 'clustercontroller-reindexer/src/main')
-rw-r--r-- | clustercontroller-reindexer/src/main/java/ai/vespa/reindexing/Reindexer.java | 13 | ||||
-rw-r--r-- | clustercontroller-reindexer/src/main/java/ai/vespa/reindexing/ReindexingMaintainer.java | 3 |
2 files changed, 10 insertions, 6 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 c0a54d55a03..fd887a4196b 100644 --- a/clustercontroller-reindexer/src/main/java/ai/vespa/reindexing/Reindexer.java +++ b/clustercontroller-reindexer/src/main/java/ai/vespa/reindexing/Reindexer.java @@ -49,10 +49,10 @@ public class Reindexer { private final ReindexingMetrics metrics; private final Clock clock; private final Phaser phaser = new Phaser(2); // Reindexer and visitor. + private final double windowSizeIncrement; - @Inject public Reindexer(Cluster cluster, Map<DocumentType, Instant> ready, ReindexingCurator database, - DocumentAccess access, Metric metric, Clock clock) { + DocumentAccess access, Metric metric, Clock clock, double windowSizeIncrement) { this(cluster, ready, database, @@ -65,11 +65,13 @@ public class Reindexer { } }, metric, - clock); + clock, + windowSizeIncrement); } Reindexer(Cluster cluster, Map<DocumentType, Instant> ready, ReindexingCurator database, - Function<VisitorParameters, Runnable> visitorSessions, Metric metric, Clock clock) { + Function<VisitorParameters, Runnable> visitorSessions, Metric metric, Clock clock, + double windowSizeIncrement) { for (DocumentType type : ready.keySet()) cluster.bucketSpaceOf(type); // Verifies this is known. @@ -79,6 +81,7 @@ public class Reindexer { this.visitorSessions = visitorSessions; this.metrics = new ReindexingMetrics(metric, cluster.name); this.clock = clock; + this.windowSizeIncrement = windowSizeIncrement; } /** Lets the reindexer abort any ongoing visit session, wait for it to complete normally, then exit. */ @@ -194,7 +197,7 @@ public class Reindexer { VisitorParameters createParameters(DocumentType type, ProgressToken progress) { VisitorParameters parameters = new VisitorParameters(type.getName()); - parameters.setThrottlePolicy(new DynamicThrottlePolicy().setWindowSizeIncrement(0.2) + parameters.setThrottlePolicy(new DynamicThrottlePolicy().setWindowSizeIncrement(windowSizeIncrement) .setWindowSizeDecrementFactor(5) .setResizeRate(10) .setMinWindowSize(1)); diff --git a/clustercontroller-reindexer/src/main/java/ai/vespa/reindexing/ReindexingMaintainer.java b/clustercontroller-reindexer/src/main/java/ai/vespa/reindexing/ReindexingMaintainer.java index 9a114eabbb5..8668ed037ef 100644 --- a/clustercontroller-reindexer/src/main/java/ai/vespa/reindexing/ReindexingMaintainer.java +++ b/clustercontroller-reindexer/src/main/java/ai/vespa/reindexing/ReindexingMaintainer.java @@ -72,7 +72,8 @@ public class ReindexingMaintainer extends AbstractComponent { access.getDocumentTypeManager()), access, metric, - clock)) + clock, + reindexingConfig.windowSizeIncrement())) .collect(toUnmodifiableList()); this.executor = new ScheduledThreadPoolExecutor(reindexingConfig.clusters().size(), new DaemonThreadFactory("reindexer-")); if (reindexingConfig.enabled()) |