summaryrefslogtreecommitdiffstats
path: root/config-model
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@gmail.com>2022-06-16 18:01:07 +0200
committerJon Bratseth <bratseth@gmail.com>2022-06-16 18:01:07 +0200
commit4806657206427dda4a218e0892a02d8abd412572 (patch)
tree7a50a2c8d04317642012993097575b3500e90584 /config-model
parent596b15d4ea2f597a3c55fc72dd4ab83a624fcfda (diff)
Don't generate unused documentdbinfo fields
Diffstat (limited to 'config-model')
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/search/IndexedSearchCluster.java2
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/search/SearchCluster.java68
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/search/StreamingSearchCluster.java3
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/search/test/DocumentDatabaseTestCase.java33
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/search/test/SchemaTester.java22
5 files changed, 2 insertions, 126 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/search/IndexedSearchCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/search/IndexedSearchCluster.java
index 9efe61d134f..2c83e87df97 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/search/IndexedSearchCluster.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/search/IndexedSearchCluster.java
@@ -215,8 +215,6 @@ public class IndexedSearchCluster extends SearchCluster
for (DocumentDatabase db : documentDbs) {
DocumentdbInfoConfig.Documentdb.Builder docDb = new DocumentdbInfoConfig.Documentdb.Builder();
docDb.name(db.getName());
- convertSummaryConfig(db, db, docDb);
- addRankProfilesConfig(db.getSchemaName(), docDb);
builder.documentdb(docDb);
}
}
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/search/SearchCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/search/SearchCluster.java
index f033399c787..0fe8a1b837a 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/search/SearchCluster.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/search/SearchCluster.java
@@ -4,12 +4,9 @@ package com.yahoo.vespa.model.search;
import com.yahoo.config.model.deploy.DeployState;
import com.yahoo.search.config.SchemaInfoConfig;
import com.yahoo.schema.derived.SchemaInfo;
-import com.yahoo.schema.derived.SummaryMap;
import com.yahoo.vespa.config.search.AttributesConfig;
import com.yahoo.vespa.config.search.RankProfilesConfig;
-import com.yahoo.vespa.config.search.SummaryConfig;
import com.yahoo.prelude.fastsearch.DocumentdbInfoConfig;
-import com.yahoo.vespa.config.search.SummarymapConfig;
import com.yahoo.search.config.IndexInfoConfig;
import com.yahoo.vespa.configdefinition.IlscriptsConfig;
import com.yahoo.config.model.producer.AbstractConfigProducer;
@@ -58,71 +55,6 @@ public abstract class SearchCluster extends AbstractConfigProducer<SearchCluster
*/
public abstract void deriveFromSchemas(DeployState deployState);
- /**
- * Converts summary and summary map config to the appropriate information in documentdb
- *
- * @param summaryConfigProducer the summary config
- * @param summarymapConfigProducer the summary map config, or null if none is available
- * @param docDb the target document dm config
- */
- protected void convertSummaryConfig(SummaryConfig.Producer summaryConfigProducer,
- SummarymapConfig.Producer summarymapConfigProducer,
- DocumentdbInfoConfig.Documentdb.Builder docDb) {
-
- SummaryConfig.Builder summaryConfigBuilder = new SummaryConfig.Builder();
- summaryConfigProducer.getConfig(summaryConfigBuilder);
- SummaryConfig summaryConfig = summaryConfigBuilder.build();
-
- SummarymapConfig summarymapConfig = null;
- if (summarymapConfigProducer != null) {
- SummarymapConfig.Builder summarymapConfigBuilder = new SummarymapConfig.Builder();
- summarymapConfigProducer.getConfig(summarymapConfigBuilder);
- summarymapConfig = summarymapConfigBuilder.build();
- }
-
- for (SummaryConfig.Classes sclass : summaryConfig.classes()) {
- DocumentdbInfoConfig.Documentdb.Summaryclass.Builder sumClassBuilder = new DocumentdbInfoConfig.Documentdb.Summaryclass.Builder();
- sumClassBuilder.
- id(sclass.id()).
- name(sclass.name());
- for (SummaryConfig.Classes.Fields field : sclass.fields()) {
- DocumentdbInfoConfig.Documentdb.Summaryclass.Fields.Builder fieldsBuilder = new DocumentdbInfoConfig.Documentdb.Summaryclass.Fields.Builder();
- fieldsBuilder.name(field.name())
- .type(field.type())
- .dynamic(isDynamic(field.name(), summarymapConfig));
- sumClassBuilder.fields(fieldsBuilder);
- }
- docDb.summaryclass(sumClassBuilder);
- }
- }
-
- /** Returns whether the given field is a dynamic summary field. */
- private boolean isDynamic(String fieldName, SummarymapConfig summarymapConfig) {
- if (summarymapConfig == null) return false; // not know for streaming, but also not used
-
- for (SummarymapConfig.Override override : summarymapConfig.override()) {
- if ( ! fieldName.equals(override.field())) continue;
- if (SummaryMap.isDynamicCommand(override.command())) return true;
- }
- return false;
- }
-
- protected void addRankProfilesConfig(String schemaName, DocumentdbInfoConfig.Documentdb.Builder docDbBuilder) {
- for (SchemaInfo.RankProfileInfo rankProfile : schemas().get(schemaName).rankProfiles().values()) {
- var rankProfileConfig = new DocumentdbInfoConfig.Documentdb.Rankprofile.Builder();
- rankProfileConfig.name(rankProfile.name());
- rankProfileConfig.hasSummaryFeatures(rankProfile.hasSummaryFeatures());
- rankProfileConfig.hasRankFeatures(rankProfile.hasRankFeatures());
- for (var input : rankProfile.inputs().entrySet()) {
- var inputConfig = new DocumentdbInfoConfig.Documentdb.Rankprofile.Input.Builder();
- inputConfig.name(input.getKey().toString());
- inputConfig.type(input.getValue().type().toString());
- rankProfileConfig.input(inputConfig);
- }
- docDbBuilder.rankprofile(rankProfileConfig);
- }
- }
-
/** Returns a list of the document type names used in this search cluster */
public List<String> getDocumentNames() {
return schemas.values()
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/search/StreamingSearchCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/search/StreamingSearchCluster.java
index 79adfb2ea13..d12635b76ec 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/search/StreamingSearchCluster.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/search/StreamingSearchCluster.java
@@ -65,9 +65,6 @@ public class StreamingSearchCluster extends SearchCluster implements
public void getConfig(DocumentdbInfoConfig.Builder builder) {
DocumentdbInfoConfig.Documentdb.Builder docDb = new DocumentdbInfoConfig.Documentdb.Builder();
docDb.name(derivedConfig.getSchema().getName());
- SummaryConfig.Producer prod = derivedConfig.getSummaries();
- convertSummaryConfig(prod, null, docDb);
- addRankProfilesConfig(derivedConfig.getSchema().getName(), docDb);
builder.documentdb(docDb);
}
diff --git a/config-model/src/test/java/com/yahoo/vespa/model/search/test/DocumentDatabaseTestCase.java b/config-model/src/test/java/com/yahoo/vespa/model/search/test/DocumentDatabaseTestCase.java
index d541a6422e7..b60b4545869 100644
--- a/config-model/src/test/java/com/yahoo/vespa/model/search/test/DocumentDatabaseTestCase.java
+++ b/config-model/src/test/java/com/yahoo/vespa/model/search/test/DocumentDatabaseTestCase.java
@@ -4,7 +4,6 @@ package com.yahoo.vespa.model.search.test;
import com.google.common.collect.ImmutableMap;
import com.yahoo.config.model.deploy.DeployState;
import com.yahoo.config.model.deploy.TestProperties;
-import com.yahoo.config.model.test.MockApplicationPackage;
import com.yahoo.path.Path;
import com.yahoo.prelude.fastsearch.DocumentdbInfoConfig;
import com.yahoo.search.config.IndexInfoConfig;
@@ -262,36 +261,8 @@ public class DocumentDatabaseTestCase {
{ // documentdb-info config
DocumentdbInfoConfig dcfg = model.getConfig(DocumentdbInfoConfig.class, searcherId);
assertEquals(2, dcfg.documentdb().size());
-
- { // type1
- DocumentdbInfoConfig.Documentdb db = dcfg.documentdb(0);
- assertEquals("type1", db.name());
-
- assertEquals(7, db.rankprofile().size());
- tester.assertRankProfile(db, 0, "default", false, false);
- tester.assertRankProfile(db, 1, "unranked", false, false);
- tester.assertRankProfile(db, 2, "staticrank", false, false);
- tester.assertRankProfile(db, 3, "summaryfeatures", true, false);
- tester.assertRankProfile(db, 4, "inheritedsummaryfeatures", true, false);
- tester.assertRankProfile(db, 5, "rankfeatures", false, true);
- var inputs = tester.assertRankProfile(db, 6, "inputs", false, false);
-
- assertEquals(2, inputs.input().size());
- assertEquals("query(foo)", inputs.input(0).name());
- assertEquals("tensor<float>(x[10])", inputs.input(0).type());
- assertEquals("query(bar)", inputs.input(1).name());
- assertEquals("tensor(key{},x[1000])", inputs.input(1).type());
-
- assertEquals(2, db.summaryclass().size());
- assertEquals("default", db.summaryclass(0).name());
- assertEquals("attributeprefetch", db.summaryclass(1).name());
- tester.assertSummaryField(db, 0, 0, "f1", "longstring", true);
- tester.assertSummaryField(db, 0, 1, "f2", "integer", false);
- }
- { // type2
- DocumentdbInfoConfig.Documentdb db = dcfg.documentdb(1);
- assertEquals("type2", db.name());
- }
+ assertEquals("type1", dcfg.documentdb(0).name());
+ assertEquals("type2", dcfg.documentdb(1).name());
}
{ // attributes config
AttributesConfig acfg = model.getConfig(AttributesConfig.class, searcherId);
diff --git a/config-model/src/test/java/com/yahoo/vespa/model/search/test/SchemaTester.java b/config-model/src/test/java/com/yahoo/vespa/model/search/test/SchemaTester.java
index 6b740816775..9d1aece61d4 100644
--- a/config-model/src/test/java/com/yahoo/vespa/model/search/test/SchemaTester.java
+++ b/config-model/src/test/java/com/yahoo/vespa/model/search/test/SchemaTester.java
@@ -2,9 +2,7 @@
package com.yahoo.vespa.model.search.test;
import com.yahoo.config.model.deploy.DeployState;
-import com.yahoo.config.model.test.MockApplicationPackage;
import com.yahoo.path.Path;
-import com.yahoo.prelude.fastsearch.DocumentdbInfoConfig;
import com.yahoo.search.config.SchemaInfoConfig;
import com.yahoo.vespa.config.search.core.ProtonConfig;
import com.yahoo.vespa.model.VespaModel;
@@ -200,18 +198,6 @@ public class SchemaTester {
return schemas;
}
- DocumentdbInfoConfig.Documentdb.Rankprofile assertRankProfile(DocumentdbInfoConfig.Documentdb db,
- int index,
- String name,
- boolean hasSummaryFeatures,
- boolean hasRankFeatures) {
- DocumentdbInfoConfig.Documentdb.Rankprofile rankProfile = db.rankprofile(index);
- assertEquals(name, rankProfile.name());
- assertEquals(hasSummaryFeatures, rankProfile.hasSummaryFeatures());
- assertEquals(hasRankFeatures, rankProfile.hasRankFeatures());
- return rankProfile;
- }
-
SchemaInfoConfig.Schema.Rankprofile assertRankProfile(SchemaInfoConfig.Schema schema,
int index,
String name,
@@ -224,14 +210,6 @@ public class SchemaTester {
return rankProfile;
}
- void assertSummaryField(DocumentdbInfoConfig.Documentdb db, int summaryClassIndex, int fieldIndex,
- String name, String type, boolean dynamic) {
- DocumentdbInfoConfig.Documentdb.Summaryclass.Fields field = db.summaryclass(summaryClassIndex).fields(fieldIndex);
- assertEquals(name, field.name());
- assertEquals(type, field.type());
- assertEquals(dynamic, field.dynamic());
- }
-
void assertSummaryField(SchemaInfoConfig.Schema schema, int summaryClassIndex, int fieldIndex,
String name, String type, boolean dynamic) {
SchemaInfoConfig.Schema.Summaryclass.Fields field = schema.summaryclass(summaryClassIndex).fields(fieldIndex);