aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2021-11-22 12:00:20 +0100
committerGitHub <noreply@github.com>2021-11-22 12:00:20 +0100
commit13cf4fcddbef3547196d803cfddb9ef9764cfecb (patch)
tree51c19ee9e9c0318a6d46e4c711649928b498a6ac
parent4cd9450a93aee9b30b3f441250733bf4ee165cda (diff)
parent53aa40eb86e5be2a33c465643d2137037cac6e67 (diff)
Merge pull request #20145 from vespa-engine/arnej/add-feature-flag-for-v8-positions
Arnej/add feature flag for v8 positions
-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/searchdefinition/derived/DerivedConfiguration.java2
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/derived/Summaries.java6
-rw-r--r--config-model/src/test/derived/advanced/summary.cfg1
-rw-r--r--config-model/src/test/derived/array_of_struct_attribute/summary.cfg1
-rw-r--r--config-model/src/test/derived/attributeprefetch/summary.cfg1
-rw-r--r--config-model/src/test/derived/complex/summary.cfg1
-rw-r--r--config-model/src/test/derived/emptychild/summary.cfg1
-rw-r--r--config-model/src/test/derived/emptydefault/summary.cfg1
-rw-r--r--config-model/src/test/derived/id/summary.cfg1
-rw-r--r--config-model/src/test/derived/imported_position_field/summary.cfg1
-rw-r--r--config-model/src/test/derived/imported_position_field_summary/summary.cfg1
-rw-r--r--config-model/src/test/derived/imported_struct_fields/summary.cfg1
-rw-r--r--config-model/src/test/derived/importedfields/summary.cfg1
-rw-r--r--config-model/src/test/derived/indexswitches/summary.cfg1
-rw-r--r--config-model/src/test/derived/inheritance/summary.cfg1
-rw-r--r--config-model/src/test/derived/integerattributetostringindex/summary.cfg1
-rw-r--r--config-model/src/test/derived/mail/summary.cfg1
-rw-r--r--config-model/src/test/derived/map_attribute/summary.cfg1
-rw-r--r--config-model/src/test/derived/map_of_struct_attribute/summary.cfg1
-rw-r--r--config-model/src/test/derived/mlr/summary.cfg1
-rw-r--r--config-model/src/test/derived/multiplesummaries/summary.cfg1
-rw-r--r--config-model/src/test/derived/music/summary.cfg1
-rw-r--r--config-model/src/test/derived/newrank/summary.cfg1
-rw-r--r--config-model/src/test/derived/position_nosummary/summary.cfg1
-rw-r--r--config-model/src/test/derived/position_summary/summary.cfg1
-rw-r--r--config-model/src/test/derived/predicate_attribute/summary.cfg1
-rw-r--r--config-model/src/test/derived/rankexpression/summary.cfg1
-rw-r--r--config-model/src/test/derived/ranktypes/summary.cfg1
-rw-r--r--config-model/src/test/derived/reference_fields/summary.cfg1
-rw-r--r--config-model/src/test/derived/schemainheritance/summary.cfg1
-rw-r--r--config-model/src/test/derived/streamingstruct/summary.cfg1
-rw-r--r--config-model/src/test/derived/streamingstructdefault/summary.cfg1
-rw-r--r--config-model/src/test/derived/tensor/summary.cfg1
-rw-r--r--config-model/src/test/derived/twostreamingstructs/summary.cfg1
-rw-r--r--config-model/src/test/derived/types/summary.cfg1
-rw-r--r--configdefinitions/src/vespa/summary.def3
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/deploy/ModelContextImpl.java4
-rw-r--r--flags/src/main/java/com/yahoo/vespa/flags/Flags.java7
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/resultconfig.cpp2
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/resultconfig.h2
41 files changed, 58 insertions, 2 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 42041f3a0b0..6ed2f3daa30 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
@@ -108,6 +108,7 @@ public interface ModelContext {
@ModelFeatureFlag(owners = {"geirst", "vekterli"}) default boolean asyncApplyBucketDiff() { return false; }
@ModelFeatureFlag(owners = {"arnej"}) default boolean ignoreThreadStackSizes() { return false; }
@ModelFeatureFlag(owners = {"vekterli", "geirst"}) default boolean unorderedMergeChaining() { return false; }
+ @ModelFeatureFlag(owners = {"arnej"}) default boolean useV8GeoPositions() { return false; }
}
/** 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/searchdefinition/derived/DerivedConfiguration.java b/config-model/src/main/java/com/yahoo/searchdefinition/derived/DerivedConfiguration.java
index 6165cdd2dc1..b49fde9e5d7 100644
--- a/config-model/src/main/java/com/yahoo/searchdefinition/derived/DerivedConfiguration.java
+++ b/config-model/src/main/java/com/yahoo/searchdefinition/derived/DerivedConfiguration.java
@@ -91,7 +91,7 @@ public class DerivedConfiguration implements AttributesConfig.Producer {
}
if ( ! schema.isDocumentsOnly()) {
attributeFields = new AttributeFields(schema);
- summaries = new Summaries(schema, deployLogger);
+ summaries = new Summaries(schema, deployLogger, deployProperties.featureFlags());
summaryMap = new SummaryMap(schema);
juniperrc = new Juniperrc(schema);
rankProfileList = new RankProfileList(schema, schema.rankingConstants(), schema.rankExpressionFiles(),
diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/derived/Summaries.java b/config-model/src/main/java/com/yahoo/searchdefinition/derived/Summaries.java
index 5fdc51e8f5f..1455fbc92e1 100644
--- a/config-model/src/main/java/com/yahoo/searchdefinition/derived/Summaries.java
+++ b/config-model/src/main/java/com/yahoo/searchdefinition/derived/Summaries.java
@@ -2,6 +2,7 @@
package com.yahoo.searchdefinition.derived;
import com.yahoo.config.application.api.DeployLogger;
+import com.yahoo.config.model.api.ModelContext;
import com.yahoo.searchdefinition.Schema;
import com.yahoo.vespa.documentmodel.DocumentSummary;
import com.yahoo.vespa.config.search.SummaryConfig;
@@ -14,9 +15,11 @@ import java.util.List;
*/
public class Summaries extends Derived implements SummaryConfig.Producer {
+ private final boolean useV8GeoPositions;
private List<SummaryClass> summaries=new java.util.ArrayList<>(1);
- public Summaries(Schema schema, DeployLogger deployLogger) {
+ public Summaries(Schema schema, DeployLogger deployLogger, ModelContext.FeatureFlags featureFlags) {
+ this.useV8GeoPositions = featureFlags.useV8GeoPositions();
// Make sure the default is first
summaries.add(new SummaryClass(schema, schema.getSummary("default"), deployLogger));
for (DocumentSummary summary : schema.getSummaries().values()) {
@@ -31,6 +34,7 @@ public class Summaries extends Derived implements SummaryConfig.Producer {
@Override
public void getConfig(SummaryConfig.Builder builder) {
builder.defaultsummaryid(summaries.isEmpty() ? -1 : summaries.get(0).hashCode());
+ builder.usev8geopositions(useV8GeoPositions);
for (SummaryClass summaryClass : summaries) {
builder.classes(summaryClass.getSummaryClassConfig());
}
diff --git a/config-model/src/test/derived/advanced/summary.cfg b/config-model/src/test/derived/advanced/summary.cfg
index f497461b460..e4845c1994e 100644
--- a/config-model/src/test/derived/advanced/summary.cfg
+++ b/config-model/src/test/derived/advanced/summary.cfg
@@ -1,4 +1,5 @@
defaultsummaryid 1271952241
+usev8geopositions false
classes[].id 1271952241
classes[].name "default"
classes[].omitsummaryfeatures false
diff --git a/config-model/src/test/derived/array_of_struct_attribute/summary.cfg b/config-model/src/test/derived/array_of_struct_attribute/summary.cfg
index 965c875d5ce..e750d1454e8 100644
--- a/config-model/src/test/derived/array_of_struct_attribute/summary.cfg
+++ b/config-model/src/test/derived/array_of_struct_attribute/summary.cfg
@@ -1,4 +1,5 @@
defaultsummaryid 252850086
+usev8geopositions false
classes[].id 252850086
classes[].name "default"
classes[].omitsummaryfeatures false
diff --git a/config-model/src/test/derived/attributeprefetch/summary.cfg b/config-model/src/test/derived/attributeprefetch/summary.cfg
index f0189f9a3c7..f52952e2871 100644
--- a/config-model/src/test/derived/attributeprefetch/summary.cfg
+++ b/config-model/src/test/derived/attributeprefetch/summary.cfg
@@ -1,4 +1,5 @@
defaultsummaryid 1151071433
+usev8geopositions false
classes[].id 1151071433
classes[].name "default"
classes[].omitsummaryfeatures false
diff --git a/config-model/src/test/derived/complex/summary.cfg b/config-model/src/test/derived/complex/summary.cfg
index 2dac4736d23..1eeef44cd54 100644
--- a/config-model/src/test/derived/complex/summary.cfg
+++ b/config-model/src/test/derived/complex/summary.cfg
@@ -1,4 +1,5 @@
defaultsummaryid 1506848752
+usev8geopositions false
classes[].id 1506848752
classes[].name "default"
classes[].omitsummaryfeatures false
diff --git a/config-model/src/test/derived/emptychild/summary.cfg b/config-model/src/test/derived/emptychild/summary.cfg
index 82bed7fd55e..733fa1fde54 100644
--- a/config-model/src/test/derived/emptychild/summary.cfg
+++ b/config-model/src/test/derived/emptychild/summary.cfg
@@ -1,4 +1,5 @@
defaultsummaryid 1814603381
+usev8geopositions false
classes[].id 1814603381
classes[].name "default"
classes[].omitsummaryfeatures false
diff --git a/config-model/src/test/derived/emptydefault/summary.cfg b/config-model/src/test/derived/emptydefault/summary.cfg
index 61294d97b4c..5aacec1d0b6 100644
--- a/config-model/src/test/derived/emptydefault/summary.cfg
+++ b/config-model/src/test/derived/emptydefault/summary.cfg
@@ -1,4 +1,5 @@
defaultsummaryid 1151071433
+usev8geopositions false
classes[].id 1151071433
classes[].name "default"
classes[].omitsummaryfeatures false
diff --git a/config-model/src/test/derived/id/summary.cfg b/config-model/src/test/derived/id/summary.cfg
index b50b970afe2..f7e9f6a239f 100644
--- a/config-model/src/test/derived/id/summary.cfg
+++ b/config-model/src/test/derived/id/summary.cfg
@@ -1,4 +1,5 @@
defaultsummaryid 1814716401
+usev8geopositions false
classes[].id 1814716401
classes[].name "default"
classes[].omitsummaryfeatures false
diff --git a/config-model/src/test/derived/imported_position_field/summary.cfg b/config-model/src/test/derived/imported_position_field/summary.cfg
index 3ab8e7e29e5..722443641cd 100644
--- a/config-model/src/test/derived/imported_position_field/summary.cfg
+++ b/config-model/src/test/derived/imported_position_field/summary.cfg
@@ -1,4 +1,5 @@
defaultsummaryid 1570252291
+usev8geopositions false
classes[].id 1570252291
classes[].name "default"
classes[].omitsummaryfeatures false
diff --git a/config-model/src/test/derived/imported_position_field_summary/summary.cfg b/config-model/src/test/derived/imported_position_field_summary/summary.cfg
index 76faac23170..0642382aabe 100644
--- a/config-model/src/test/derived/imported_position_field_summary/summary.cfg
+++ b/config-model/src/test/derived/imported_position_field_summary/summary.cfg
@@ -1,4 +1,5 @@
defaultsummaryid 1194448774
+usev8geopositions false
classes[].id 1194448774
classes[].name "default"
classes[].omitsummaryfeatures false
diff --git a/config-model/src/test/derived/imported_struct_fields/summary.cfg b/config-model/src/test/derived/imported_struct_fields/summary.cfg
index ab6c6853925..0a9b29524e1 100644
--- a/config-model/src/test/derived/imported_struct_fields/summary.cfg
+++ b/config-model/src/test/derived/imported_struct_fields/summary.cfg
@@ -1,4 +1,5 @@
defaultsummaryid 1570252291
+usev8geopositions false
classes[].id 1570252291
classes[].name "default"
classes[].omitsummaryfeatures false
diff --git a/config-model/src/test/derived/importedfields/summary.cfg b/config-model/src/test/derived/importedfields/summary.cfg
index 74b5b44214e..975c601a97d 100644
--- a/config-model/src/test/derived/importedfields/summary.cfg
+++ b/config-model/src/test/derived/importedfields/summary.cfg
@@ -1,4 +1,5 @@
defaultsummaryid 1294344677
+usev8geopositions false
classes[].id 1294344677
classes[].name "default"
classes[].omitsummaryfeatures false
diff --git a/config-model/src/test/derived/indexswitches/summary.cfg b/config-model/src/test/derived/indexswitches/summary.cfg
index d04bc4eb167..bcc050dad4f 100644
--- a/config-model/src/test/derived/indexswitches/summary.cfg
+++ b/config-model/src/test/derived/indexswitches/summary.cfg
@@ -1,4 +1,5 @@
defaultsummaryid 1698765342
+usev8geopositions false
classes[].id 1698765342
classes[].name "default"
classes[].omitsummaryfeatures false
diff --git a/config-model/src/test/derived/inheritance/summary.cfg b/config-model/src/test/derived/inheritance/summary.cfg
index dde9f95ecbe..73c22f82a99 100644
--- a/config-model/src/test/derived/inheritance/summary.cfg
+++ b/config-model/src/test/derived/inheritance/summary.cfg
@@ -1,4 +1,5 @@
defaultsummaryid 1797992819
+usev8geopositions false
classes[].id 1797992819
classes[].name "default"
classes[].omitsummaryfeatures false
diff --git a/config-model/src/test/derived/integerattributetostringindex/summary.cfg b/config-model/src/test/derived/integerattributetostringindex/summary.cfg
index d5eb316ff01..bfbb1eb01ca 100644
--- a/config-model/src/test/derived/integerattributetostringindex/summary.cfg
+++ b/config-model/src/test/derived/integerattributetostringindex/summary.cfg
@@ -1,4 +1,5 @@
defaultsummaryid 1195656216
+usev8geopositions false
classes[].id 1195656216
classes[].name "default"
classes[].omitsummaryfeatures false
diff --git a/config-model/src/test/derived/mail/summary.cfg b/config-model/src/test/derived/mail/summary.cfg
index 3628e1acb88..2b886a4622b 100644
--- a/config-model/src/test/derived/mail/summary.cfg
+++ b/config-model/src/test/derived/mail/summary.cfg
@@ -1,4 +1,5 @@
defaultsummaryid 1831052622
+usev8geopositions false
classes[].id 1831052622
classes[].name "default"
classes[].fields[].name "snippet"
diff --git a/config-model/src/test/derived/map_attribute/summary.cfg b/config-model/src/test/derived/map_attribute/summary.cfg
index b465bdfa541..b50b40b9b72 100644
--- a/config-model/src/test/derived/map_attribute/summary.cfg
+++ b/config-model/src/test/derived/map_attribute/summary.cfg
@@ -1,4 +1,5 @@
defaultsummaryid 1376056200
+usev8geopositions false
classes[].id 1376056200
classes[].name "default"
classes[].omitsummaryfeatures false
diff --git a/config-model/src/test/derived/map_of_struct_attribute/summary.cfg b/config-model/src/test/derived/map_of_struct_attribute/summary.cfg
index 67988dbf30e..cf875704fa0 100644
--- a/config-model/src/test/derived/map_of_struct_attribute/summary.cfg
+++ b/config-model/src/test/derived/map_of_struct_attribute/summary.cfg
@@ -1,4 +1,5 @@
defaultsummaryid 1131098132
+usev8geopositions false
classes[].id 1131098132
classes[].name "default"
classes[].omitsummaryfeatures false
diff --git a/config-model/src/test/derived/mlr/summary.cfg b/config-model/src/test/derived/mlr/summary.cfg
index b6a53a9a1d9..5bea06a8472 100644
--- a/config-model/src/test/derived/mlr/summary.cfg
+++ b/config-model/src/test/derived/mlr/summary.cfg
@@ -1,4 +1,5 @@
defaultsummaryid 1868876861
+usev8geopositions false
classes[].id 1868876861
classes[].name "default"
classes[].omitsummaryfeatures false
diff --git a/config-model/src/test/derived/multiplesummaries/summary.cfg b/config-model/src/test/derived/multiplesummaries/summary.cfg
index 8d85890b156..16d0024155b 100644
--- a/config-model/src/test/derived/multiplesummaries/summary.cfg
+++ b/config-model/src/test/derived/multiplesummaries/summary.cfg
@@ -1,4 +1,5 @@
defaultsummaryid 235127765
+usev8geopositions false
classes[1156201411].id 1156201411
classes[1156201411].name "attributeprefetch"
classes[1156201411].fields[a].name "a"
diff --git a/config-model/src/test/derived/music/summary.cfg b/config-model/src/test/derived/music/summary.cfg
index bc55727b407..c92b5491ebc 100644
--- a/config-model/src/test/derived/music/summary.cfg
+++ b/config-model/src/test/derived/music/summary.cfg
@@ -1,4 +1,5 @@
defaultsummaryid 2086497905
+usev8geopositions false
classes[].id 2086497905
classes[].name "default"
classes[].omitsummaryfeatures false
diff --git a/config-model/src/test/derived/newrank/summary.cfg b/config-model/src/test/derived/newrank/summary.cfg
index 0b98b20c342..ddebcbe6ca6 100644
--- a/config-model/src/test/derived/newrank/summary.cfg
+++ b/config-model/src/test/derived/newrank/summary.cfg
@@ -1,4 +1,5 @@
defaultsummaryid 912980235
+usev8geopositions false
classes[].id 912980235
classes[].name "default"
classes[].omitsummaryfeatures false
diff --git a/config-model/src/test/derived/position_nosummary/summary.cfg b/config-model/src/test/derived/position_nosummary/summary.cfg
index 4222e88cc2f..cd7c295ab11 100644
--- a/config-model/src/test/derived/position_nosummary/summary.cfg
+++ b/config-model/src/test/derived/position_nosummary/summary.cfg
@@ -1,4 +1,5 @@
defaultsummaryid 1727020212
+usev8geopositions false
classes[].id 1727020212
classes[].name "default"
classes[].omitsummaryfeatures false
diff --git a/config-model/src/test/derived/position_summary/summary.cfg b/config-model/src/test/derived/position_summary/summary.cfg
index f54066d865e..7b8bf16287f 100644
--- a/config-model/src/test/derived/position_summary/summary.cfg
+++ b/config-model/src/test/derived/position_summary/summary.cfg
@@ -1,4 +1,5 @@
defaultsummaryid 230670304
+usev8geopositions false
classes[].id 230670304
classes[].name "default"
classes[].omitsummaryfeatures false
diff --git a/config-model/src/test/derived/predicate_attribute/summary.cfg b/config-model/src/test/derived/predicate_attribute/summary.cfg
index 9cc613107e0..10040fd71c6 100644
--- a/config-model/src/test/derived/predicate_attribute/summary.cfg
+++ b/config-model/src/test/derived/predicate_attribute/summary.cfg
@@ -1,4 +1,5 @@
defaultsummaryid 1391971216
+usev8geopositions false
classes[].id 1391971216
classes[].name "default"
classes[].omitsummaryfeatures false
diff --git a/config-model/src/test/derived/rankexpression/summary.cfg b/config-model/src/test/derived/rankexpression/summary.cfg
index 22f4c3d4ca7..aec076aa8fe 100644
--- a/config-model/src/test/derived/rankexpression/summary.cfg
+++ b/config-model/src/test/derived/rankexpression/summary.cfg
@@ -1,4 +1,5 @@
defaultsummaryid 1753207254
+usev8geopositions false
classes[].id 1753207254
classes[].name "default"
classes[].omitsummaryfeatures false
diff --git a/config-model/src/test/derived/ranktypes/summary.cfg b/config-model/src/test/derived/ranktypes/summary.cfg
index 49b668e9edf..7ab01302d8b 100644
--- a/config-model/src/test/derived/ranktypes/summary.cfg
+++ b/config-model/src/test/derived/ranktypes/summary.cfg
@@ -1,4 +1,5 @@
defaultsummaryid 1567556360
+usev8geopositions false
classes[].id 1567556360
classes[].name "default"
classes[].omitsummaryfeatures false
diff --git a/config-model/src/test/derived/reference_fields/summary.cfg b/config-model/src/test/derived/reference_fields/summary.cfg
index 410bccff7b3..b23b6c5b5a8 100644
--- a/config-model/src/test/derived/reference_fields/summary.cfg
+++ b/config-model/src/test/derived/reference_fields/summary.cfg
@@ -1,4 +1,5 @@
defaultsummaryid 1987541865
+usev8geopositions false
classes[].id 1987541865
classes[].name "default"
classes[].omitsummaryfeatures false
diff --git a/config-model/src/test/derived/schemainheritance/summary.cfg b/config-model/src/test/derived/schemainheritance/summary.cfg
index d3286961007..6fcf5b2aaa8 100644
--- a/config-model/src/test/derived/schemainheritance/summary.cfg
+++ b/config-model/src/test/derived/schemainheritance/summary.cfg
@@ -1,4 +1,5 @@
defaultsummaryid 1313596701
+usev8geopositions false
classes[].id 1313596701
classes[].name "default"
classes[].omitsummaryfeatures false
diff --git a/config-model/src/test/derived/streamingstruct/summary.cfg b/config-model/src/test/derived/streamingstruct/summary.cfg
index 655499a88be..d7b7057bf1f 100644
--- a/config-model/src/test/derived/streamingstruct/summary.cfg
+++ b/config-model/src/test/derived/streamingstruct/summary.cfg
@@ -1,4 +1,5 @@
defaultsummaryid 569269436
+usev8geopositions false
classes[].id 569269436
classes[].name "default"
classes[].omitsummaryfeatures false
diff --git a/config-model/src/test/derived/streamingstructdefault/summary.cfg b/config-model/src/test/derived/streamingstructdefault/summary.cfg
index a52b34925dc..7274804a5de 100644
--- a/config-model/src/test/derived/streamingstructdefault/summary.cfg
+++ b/config-model/src/test/derived/streamingstructdefault/summary.cfg
@@ -1,4 +1,5 @@
defaultsummaryid 718801936
+usev8geopositions false
classes[].id 718801936
classes[].name "default"
classes[].omitsummaryfeatures false
diff --git a/config-model/src/test/derived/tensor/summary.cfg b/config-model/src/test/derived/tensor/summary.cfg
index 355cba0e561..de6a2a6e386 100644
--- a/config-model/src/test/derived/tensor/summary.cfg
+++ b/config-model/src/test/derived/tensor/summary.cfg
@@ -1,4 +1,5 @@
defaultsummaryid 898020074
+usev8geopositions false
classes[].id 898020074
classes[].name "default"
classes[].omitsummaryfeatures false
diff --git a/config-model/src/test/derived/twostreamingstructs/summary.cfg b/config-model/src/test/derived/twostreamingstructs/summary.cfg
index 28f19e6fe25..969e91d4b87 100644
--- a/config-model/src/test/derived/twostreamingstructs/summary.cfg
+++ b/config-model/src/test/derived/twostreamingstructs/summary.cfg
@@ -1,4 +1,5 @@
defaultsummaryid 569269436
+usev8geopositions false
classes[].id 569269436
classes[].name "default"
classes[].fields[].name "coupleof"
diff --git a/config-model/src/test/derived/types/summary.cfg b/config-model/src/test/derived/types/summary.cfg
index e0e67a5669d..fc3b9e655ca 100644
--- a/config-model/src/test/derived/types/summary.cfg
+++ b/config-model/src/test/derived/types/summary.cfg
@@ -1,4 +1,5 @@
defaultsummaryid 1131946680
+usev8geopositions false
classes[].id 1131946680
classes[].name "default"
classes[].omitsummaryfeatures false
diff --git a/configdefinitions/src/vespa/summary.def b/configdefinitions/src/vespa/summary.def
index 5169df7d72e..9b231d86c38 100644
--- a/configdefinitions/src/vespa/summary.def
+++ b/configdefinitions/src/vespa/summary.def
@@ -2,6 +2,9 @@
namespace=vespa.config.search
defaultsummaryid int default=-1
+
+usev8geopositions bool default=false
+
classes[].id int
classes[].name string
classes[].omitsummaryfeatures bool default=false
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 ea823e5befb..a7deac443a5 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
@@ -200,6 +200,7 @@ public class ModelContextImpl implements ModelContext {
private final boolean asyncApplyBucketDiff;
private final boolean ignoreThreadStackSizes;
private final boolean unorderedMergeChaining;
+ private final boolean useV8GeoPositions;
public FeatureFlags(FlagSource source, ApplicationId appId) {
this.defaultTermwiseLimit = flagValue(source, appId, Flags.DEFAULT_TERM_WISE_LIMIT);
@@ -238,6 +239,8 @@ public class ModelContextImpl implements ModelContext {
this.asyncApplyBucketDiff = flagValue(source, appId, Flags.ASYNC_APPLY_BUCKET_DIFF);
this.ignoreThreadStackSizes = flagValue(source, appId, Flags.IGNORE_THREAD_STACK_SIZES);
this.unorderedMergeChaining = flagValue(source, appId, Flags.UNORDERED_MERGE_CHAINING);
+ this.useV8GeoPositions = flagValue(source, appId, Flags.USE_V8_GEO_POSITIONS);
+
}
@Override public double defaultTermwiseLimit() { return defaultTermwiseLimit; }
@@ -278,6 +281,7 @@ public class ModelContextImpl implements ModelContext {
@Override public boolean asyncApplyBucketDiff() { return asyncApplyBucketDiff; }
@Override public boolean ignoreThreadStackSizes() { return ignoreThreadStackSizes; }
@Override public boolean unorderedMergeChaining() { return unorderedMergeChaining; }
+ @Override public boolean useV8GeoPositions() { return useV8GeoPositions; }
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/Flags.java b/flags/src/main/java/com/yahoo/vespa/flags/Flags.java
index 6260ce07c3f..d4fbefeab4c 100644
--- a/flags/src/main/java/com/yahoo/vespa/flags/Flags.java
+++ b/flags/src/main/java/com/yahoo/vespa/flags/Flags.java
@@ -384,6 +384,13 @@ public class Flags {
"Takes effect on config server restart",
ZONE_ID);
+ public static final UnboundBooleanFlag USE_V8_GEO_POSITIONS = defineFeatureFlag(
+ "use-v8-geo-positions", false,
+ List.of("arnej"), "2021-11-15", "2022-12-31",
+ "Use Vespa 8 types and formats for geographical positions",
+ "Takes effect at redeployment",
+ ZONE_ID, APPLICATION_ID);
+
/** WARNING: public for testing: All flags should be defined in {@link Flags}. */
public static UnboundBooleanFlag defineFeatureFlag(String flagId, boolean defaultValue, List<String> owners,
String createdAt, String expiresAt, String description,
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/resultconfig.cpp b/searchsummary/src/vespa/searchsummary/docsummary/resultconfig.cpp
index 28105af57d5..d3c0caeec48 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/resultconfig.cpp
+++ b/searchsummary/src/vespa/searchsummary/docsummary/resultconfig.cpp
@@ -125,6 +125,8 @@ ResultConfig::ReadConfig(const vespa::config::search::SummaryConfig &cfg, const
Reset();
int maxclassID = 0x7fffffff; // avoid negative classids
_defaultSummaryId = cfg.defaultsummaryid;
+ _useV8geoPositions = cfg.usev8geopositions;
+
for (uint32_t i = 0; rc && i < cfg.classes.size(); i++) {
const auto& cfg_class = cfg.classes[i];
if (cfg_class.name.empty()) {
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/resultconfig.h b/searchsummary/src/vespa/searchsummary/docsummary/resultconfig.h
index 3be83014fdb..8a8bfabaaec 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/resultconfig.h
+++ b/searchsummary/src/vespa/searchsummary/docsummary/resultconfig.h
@@ -33,6 +33,7 @@ private:
typedef vespalib::hash_map<vespalib::string, uint32_t> NameMap;
typedef vespalib::hash_map<uint32_t, ResultClass::UP> IdMap;
uint32_t _defaultSummaryId;
+ bool _useV8geoPositions;
search::util::StringEnum _fieldEnum;
IdMap _classLookup;
NameMap _nameLookup; // name -> class id
@@ -41,6 +42,7 @@ private:
void Init();
public:
+ bool useV8geoPositions() const { return _useV8geoPositions; }
class iterator {
public:
iterator(IdMap::iterator it) : _it(it) { }