summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArne H Juul <arnej@yahooinc.com>2021-10-21 07:53:20 +0000
committerArne H Juul <arnej@yahooinc.com>2021-10-21 07:53:20 +0000
commitb764ec9a3e44d28a75fc0f748039a8326ff0617c (patch)
tree83c91cf6d03c055a40d561725a083ca87f8c2d63
parent95bc5d408d9e8ff1383373d61ff69a0682535bcc (diff)
add permanent feature flag: forward-issues-as-errors
-rw-r--r--config-model-api/src/main/java/com/yahoo/config/model/api/ModelContext.java1
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/content/ContentSearchCluster.java13
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/deploy/ModelContextImpl.java3
-rw-r--r--flags/src/main/java/com/yahoo/vespa/flags/PermanentFlags.java7
4 files changed, 19 insertions, 5 deletions
diff --git a/config-model-api/src/main/java/com/yahoo/config/model/api/ModelContext.java b/config-model-api/src/main/java/com/yahoo/config/model/api/ModelContext.java
index 921bf44d315..de8fa05f540 100644
--- a/config-model-api/src/main/java/com/yahoo/config/model/api/ModelContext.java
+++ b/config-model-api/src/main/java/com/yahoo/config/model/api/ModelContext.java
@@ -101,6 +101,7 @@ public interface ModelContext {
@ModelFeatureFlag(owners = {"bjorncs"}) default int maxConnectionLifeInHosted() { return 45; }
@ModelFeatureFlag(owners = {"geirst", "vekterli"}) default int distributorMergeBusyWait() { return 10; }
@ModelFeatureFlag(owners = {"vekterli", "geirst"}) default boolean distributorEnhancedMaintenanceScheduling() { return false; }
+ @ModelFeatureFlag(owners = {"arnej"}) default boolean forwardIssuesAsErrors() { return true; }
}
/** Warning: As elsewhere in this package, do not make backwards incompatible changes that will break old config models! */
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 1200b7467b4..ff9db4a10bf 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
@@ -68,6 +68,7 @@ public class ContentSearchCluster extends AbstractConfigProducer<SearchCluster>
private final double defaultFeedConcurrency;
private final double defaultDiskBloatFactor;
private final int defaultDocStoreCompressionLevel;
+ private final boolean forwardIssuesToQrs;
/** Whether the nodes of this cluster also hosts a container cluster in a hosted system */
private final boolean combined;
@@ -210,11 +211,12 @@ public class ContentSearchCluster extends AbstractConfigProducer<SearchCluster>
this.syncTransactionLog = syncTransactionLog;
this.combined = combined;
- feedSequencerType = convertFeedSequencerType(featureFlags.feedSequencerType());
- feedTaskLimit = featureFlags.feedTaskLimit();
- defaultFeedConcurrency = featureFlags.feedConcurrency();
- defaultDocStoreCompressionLevel = featureFlags.docstoreCompressionLevel();
- defaultDiskBloatFactor = featureFlags.diskBloatFactor();
+ this.feedSequencerType = convertFeedSequencerType(featureFlags.feedSequencerType());
+ this.feedTaskLimit = featureFlags.feedTaskLimit();
+ this.defaultFeedConcurrency = featureFlags.feedConcurrency();
+ this.defaultDiskBloatFactor = featureFlags.diskBloatFactor();
+ this.defaultDocStoreCompressionLevel = featureFlags.docstoreCompressionLevel();
+ this.forwardIssuesToQrs = featureFlags.forwardIssuesAsErrors();
}
public void setVisibilityDelay(double delay) {
@@ -411,6 +413,7 @@ public class ContentSearchCluster extends AbstractConfigProducer<SearchCluster>
builder.flush.memory.each.diskbloatfactor(defaultDiskBloatFactor);
builder.summary.log.chunk.compression.level(defaultDocStoreCompressionLevel);
builder.summary.log.compact.compression.level(defaultDocStoreCompressionLevel);
+ builder.forward_issues(forwardIssuesToQrs);
int numDocumentDbs = builder.documentdb.size();
builder.initialize(new ProtonConfig.Initialize.Builder().threads(numDocumentDbs + 1));
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/ModelContextImpl.java b/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/ModelContextImpl.java
index c299abcfb7c..89eb77f2250 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/ModelContextImpl.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/ModelContextImpl.java
@@ -196,6 +196,7 @@ public class ModelContextImpl implements ModelContext {
private final int docstoreCompressionLevel;
private final double diskBloatFactor;
private final boolean distributorEnhancedMaintenanceScheduling;
+ private final boolean forwardIssuesAsErrors;
public FeatureFlags(FlagSource source, ApplicationId appId) {
this.defaultTermwiseLimit = flagValue(source, appId, Flags.DEFAULT_TERM_WISE_LIMIT);
@@ -230,6 +231,7 @@ public class ModelContextImpl implements ModelContext {
this.docstoreCompressionLevel = flagValue(source, appId, Flags.DOCSTORE_COMPRESSION_LEVEL);
this.diskBloatFactor = flagValue(source, appId, Flags.DISK_BLOAT_FACTOR);
this.distributorEnhancedMaintenanceScheduling = flagValue(source, appId, Flags.DISTRIBUTOR_ENHANCED_MAINTENANCE_SCHEDULING);
+ this.forwardIssuesAsErrors = flagValue(source, appId, PermanentFlags.FORWARD_ISSUES_AS_ERRORS);
}
@Override public double defaultTermwiseLimit() { return defaultTermwiseLimit; }
@@ -266,6 +268,7 @@ public class ModelContextImpl implements ModelContext {
@Override public double diskBloatFactor() { return diskBloatFactor; }
@Override public int docstoreCompressionLevel() { return docstoreCompressionLevel; }
@Override public boolean distributorEnhancedMaintenanceScheduling() { return distributorEnhancedMaintenanceScheduling; }
+ @Override public boolean forwardIssuesAsErrors() { return forwardIssuesAsErrors; }
private static <V> V flagValue(FlagSource source, ApplicationId appId, UnboundFlag<? extends V, ?, ?> flag) {
return flag.bindTo(source)
diff --git a/flags/src/main/java/com/yahoo/vespa/flags/PermanentFlags.java b/flags/src/main/java/com/yahoo/vespa/flags/PermanentFlags.java
index ae5317ecb53..2c0614805a9 100644
--- a/flags/src/main/java/com/yahoo/vespa/flags/PermanentFlags.java
+++ b/flags/src/main/java/com/yahoo/vespa/flags/PermanentFlags.java
@@ -212,6 +212,13 @@ public class PermanentFlags {
ZONE_ID
);
+ public static final UnboundBooleanFlag FORWARD_ISSUES_AS_ERRORS = defineFeatureFlag(
+ "forward-issues-as-errors", true,
+ "When the backend detects a problematic issue with a query, it will by default send it as an error message to the QRS, which adds it in an ErrorHit in the result. May be disabled using this flag.",
+ "Takes effect immediately",
+ ZONE_ID, APPLICATION_ID);
+
+
private PermanentFlags() {}
private static UnboundBooleanFlag defineFeatureFlag(