summaryrefslogtreecommitdiffstats
path: root/config-model/src
diff options
context:
space:
mode:
Diffstat (limited to 'config-model/src')
-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
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/builder/xml/dom/ContentBuilderTest.java14
3 files changed, 23 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 9f2f3620c73..ee9af73c554 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
@@ -42,6 +42,7 @@ public class TestProperties implements ModelContext.Properties, ModelContext.Fea
private String jvmGCOptions = null;
private String sequencerType = "LATENCY";
private int feedTaskLimit = 1000;
+ private int feedMasterTaskLimit = 0;
private String sharedFieldWriterExecutor = "NONE";
private boolean firstTimeDeployment = false;
private String responseSequencerType = "ADAPTIVE";
@@ -88,6 +89,7 @@ public class TestProperties implements ModelContext.Properties, ModelContext.Fea
@Override public String jvmGCOptions(Optional<ClusterSpec.Type> clusterType) { return jvmGCOptions; }
@Override public String feedSequencerType() { return sequencerType; }
@Override public int feedTaskLimit() { return feedTaskLimit; }
+ @Override public int feedMasterTaskLimit() { return feedMasterTaskLimit; }
@Override public String sharedFieldWriterExecutor() { return sharedFieldWriterExecutor; }
@Override public boolean isBootstrap() { return false; }
@Override public boolean isFirstTimeDeployment() { return firstTimeDeployment; }
@@ -178,6 +180,10 @@ public class TestProperties implements ModelContext.Properties, ModelContext.Fea
feedTaskLimit = value;
return this;
}
+ public TestProperties setFeedMasterTaskLimit(int value) {
+ feedMasterTaskLimit = value;
+ return this;
+ }
public TestProperties setSharedFieldWriterExecutor(String value) {
sharedFieldWriterExecutor = value;
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 b8de1845834..d5500e7d040 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
@@ -65,6 +65,7 @@ public class ContentSearchCluster extends AbstractConfigProducer<SearchCluster>
private Optional<ResourceLimits> resourceLimits = Optional.empty();
private final ProtonConfig.Indexing.Optimize.Enum feedSequencerType;
private final int feedTaskLimit;
+ private final int feedMasterTaskLimit;
private final ProtonConfig.Feeding.Shared_field_writer_executor.Enum sharedFieldWriterExecutor;
private final double defaultFeedConcurrency;
private final double defaultDiskBloatFactor;
@@ -218,6 +219,7 @@ public class ContentSearchCluster extends AbstractConfigProducer<SearchCluster>
this.combined = combined;
this.feedSequencerType = convertFeedSequencerType(featureFlags.feedSequencerType());
this.feedTaskLimit = featureFlags.feedTaskLimit();
+ this.feedMasterTaskLimit = featureFlags.feedMasterTaskLimit();
this.sharedFieldWriterExecutor = convertSharedFieldWriterExecutor(featureFlags.sharedFieldWriterExecutor());
this.defaultFeedConcurrency = featureFlags.feedConcurrency();
this.defaultDiskBloatFactor = featureFlags.diskBloatFactor();
@@ -441,6 +443,7 @@ public class ContentSearchCluster extends AbstractConfigProducer<SearchCluster>
builder.indexing.optimize(feedSequencerType);
}
builder.indexing.tasklimit(feedTaskLimit);
+ builder.feeding.master_task_limit(feedMasterTaskLimit);
builder.feeding.shared_field_writer_executor(sharedFieldWriterExecutor);
}
diff --git a/config-model/src/test/java/com/yahoo/vespa/model/builder/xml/dom/ContentBuilderTest.java b/config-model/src/test/java/com/yahoo/vespa/model/builder/xml/dom/ContentBuilderTest.java
index 1de37dbeccf..6d3e83af927 100644
--- a/config-model/src/test/java/com/yahoo/vespa/model/builder/xml/dom/ContentBuilderTest.java
+++ b/config-model/src/test/java/com/yahoo/vespa/model/builder/xml/dom/ContentBuilderTest.java
@@ -825,6 +825,20 @@ public class ContentBuilderTest extends DomBuilderTest {
}
@Test
+ public void feed_master_task_limit_is_controlled_by_feature_flag() {
+ assertEquals(0, resolveFeedMasterTaskLimitConfigWithFeatureFlag(null));
+ assertEquals(2000, resolveFeedMasterTaskLimitConfigWithFeatureFlag(2000));
+ }
+
+ private int resolveFeedMasterTaskLimitConfigWithFeatureFlag(Integer value) {
+ var props = new TestProperties();
+ if (value != null) {
+ props.setFeedMasterTaskLimit(value);
+ }
+ return resolveProtonConfig(props, singleNodeContentXml()).feeding().master_task_limit();
+ }
+
+ @Test
public void shared_field_writer_executor_is_controlled_by_feature_flag() {
assertEquals(Shared_field_writer_executor.Enum.NONE,