summaryrefslogtreecommitdiffstats
path: root/config-model/src/main/java/com/yahoo
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2021-02-14 21:51:47 +0100
committerHenning Baldersheim <balder@yahoo-inc.com>2021-02-14 21:51:47 +0100
commitfd6a17b0ccd17317566301b4182aa454a3fe608c (patch)
treed2e0cd8ee0baf3069875d43c24dd5bd28cf7280f /config-model/src/main/java/com/yahoo
parentb0ab8b2c6a278a343ed6f08af6072e4fa526150a (diff)
Control max pending move operations by feature flag.
Diffstat (limited to 'config-model/src/main/java/com/yahoo')
-rw-r--r--config-model/src/main/java/com/yahoo/config/model/deploy/TestProperties.java6
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/content/ContentSearchCluster.java3
2 files changed, 9 insertions, 0 deletions
diff --git a/config-model/src/main/java/com/yahoo/config/model/deploy/TestProperties.java b/config-model/src/main/java/com/yahoo/config/model/deploy/TestProperties.java
index af1afb32d29..d0e8afa5616 100644
--- a/config-model/src/main/java/com/yahoo/config/model/deploy/TestProperties.java
+++ b/config-model/src/main/java/com/yahoo/config/model/deploy/TestProperties.java
@@ -41,6 +41,7 @@ public class TestProperties implements ModelContext.Properties, ModelContext.Fea
private String sequencerType = "LATENCY";
private String responseSequencerType = "ADAPTIVE";
private int responseNumThreads = 2;
+ private int maxPendingMoveOps = 10;
private Optional<EndpointCertificateSecrets> endpointCertificateSecrets = Optional.empty();
private AthenzDomain athenzDomain;
private ApplicationRoles applicationRoles;
@@ -78,6 +79,7 @@ public class TestProperties implements ModelContext.Properties, ModelContext.Fea
@Override public Optional<ApplicationRoles> applicationRoles() { return Optional.ofNullable(applicationRoles); }
@Override public String responseSequencerType() { return responseSequencerType; }
@Override public int defaultNumResponseThreads() { return responseNumThreads; }
+ @Override public int maxPendingMoveOps() { return maxPendingMoveOps; }
@Override public boolean skipCommunicationManagerThread() { return false; }
@Override public boolean skipMbusRequestThread() { return false; }
@Override public boolean skipMbusReplyThread() { return false; }
@@ -119,6 +121,10 @@ public class TestProperties implements ModelContext.Properties, ModelContext.Fea
responseNumThreads = numThreads;
return this;
}
+ public TestProperties setMaxPendingMoveOps(int moveOps) {
+ maxPendingMoveOps = moveOps;
+ return this;
+ }
public TestProperties setDefaultTermwiseLimit(double limit) {
defaultTermwiseLimit = limit;
return this;
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/content/ContentSearchCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/content/ContentSearchCluster.java
index b081b165f5b..43f0f0f450d 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/content/ContentSearchCluster.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/content/ContentSearchCluster.java
@@ -63,6 +63,7 @@ public class ContentSearchCluster extends AbstractConfigProducer<SearchCluster>
private final Map<StorageGroup, NodeSpec> groupToSpecMap = new LinkedHashMap<>();
private Optional<ResourceLimits> resourceLimits = Optional.empty();
private final ProtonConfig.Indexing.Optimize.Enum feedSequencerType;
+ private final int maxPendingMoveOps;
private final double defaultFeedConcurrency;
private final boolean useBucketExecutorForLidSpaceCompact;
private final boolean useBucketExecutorForBucketMove;
@@ -204,6 +205,7 @@ public class ContentSearchCluster extends AbstractConfigProducer<SearchCluster>
this.globallyDistributedDocuments = globallyDistributedDocuments;
this.flushOnShutdown = flushOnShutdown;
this.combined = combined;
+ maxPendingMoveOps = featureFlags.maxPendingMoveOps();
feedSequencerType = convertFeedSequencerType(featureFlags.feedSequencerType());
defaultFeedConcurrency = featureFlags.feedConcurrency();
useBucketExecutorForLidSpaceCompact = featureFlags.useBucketExecutorForLidSpaceCompact();
@@ -430,6 +432,7 @@ public class ContentSearchCluster extends AbstractConfigProducer<SearchCluster>
} else {
builder.indexing.optimize(feedSequencerType);
}
+ builder.maintenancejobs.maxoutstandingmoveops(maxPendingMoveOps);
builder.lidspacecompaction.usebucketexecutor(useBucketExecutorForLidSpaceCompact);
builder.bucketmove.usebucketexecutor(useBucketExecutorForBucketMove);
}