diff options
Diffstat (limited to 'config-model/src/test/java')
8 files changed, 56 insertions, 32 deletions
diff --git a/config-model/src/test/java/com/yahoo/schema/derived/AbstractExportingTestCase.java b/config-model/src/test/java/com/yahoo/schema/derived/AbstractExportingTestCase.java index 52ddf238c96..7d7ed2b23eb 100644 --- a/config-model/src/test/java/com/yahoo/schema/derived/AbstractExportingTestCase.java +++ b/config-model/src/test/java/com/yahoo/schema/derived/AbstractExportingTestCase.java @@ -47,12 +47,12 @@ public abstract class AbstractExportingTestCase extends AbstractSchemaTestCase { TestProperties properties, ApplicationBuilder builder, DeployLogger logger) throws IOException { - DerivedConfiguration config = new DerivedConfiguration(new DeployState.Builder() - .properties(properties) - .deployLogger(logger) - .rankProfileRegistry(builder.getRankProfileRegistry()) - .queryProfiles(builder.getQueryProfileRegistry()) - .build(), builder.getSchema(schemaName), SchemaInfo.IndexMode.INDEX); + DerivedConfiguration config = new DerivedConfiguration(builder.getSchema(schemaName), + new DeployState.Builder().properties(properties) + .deployLogger(logger) + .rankProfileRegistry(builder.getRankProfileRegistry()) + .queryProfiles(builder.getQueryProfileRegistry()) + .build(), false); return export(dirName, builder, config); } diff --git a/config-model/src/test/java/com/yahoo/schema/derived/SchemaToDerivedConfigExporter.java b/config-model/src/test/java/com/yahoo/schema/derived/SchemaToDerivedConfigExporter.java index c940afce428..2beab3d5ea9 100644 --- a/config-model/src/test/java/com/yahoo/schema/derived/SchemaToDerivedConfigExporter.java +++ b/config-model/src/test/java/com/yahoo/schema/derived/SchemaToDerivedConfigExporter.java @@ -41,13 +41,12 @@ public class SchemaToDerivedConfigExporter { var props = new TestProperties(); var logger = new TestableDeployLogger(); var builder = ApplicationBuilder.createFromDirectory(dirPath, new MockFileRegistry(), logger, props); - var derived = new DerivedConfiguration( + var derived = new DerivedConfiguration(builder.getSchema(null), new DeployState.Builder().properties(props) .deployLogger(logger) .rankProfileRegistry(builder.getRankProfileRegistry()) .queryProfiles(builder.getQueryProfileRegistry()) - .build(), - builder.getSchema(null), SchemaInfo.IndexMode.INDEX); + .build(), false); exportConfig(dirPath, derived, builder); } } diff --git a/config-model/src/test/java/com/yahoo/vespa/model/application/validation/StreamingValidatorTest.java b/config-model/src/test/java/com/yahoo/vespa/model/application/validation/StreamingValidatorTest.java index bdac1b1e268..5397c30f2bc 100644 --- a/config-model/src/test/java/com/yahoo/vespa/model/application/validation/StreamingValidatorTest.java +++ b/config-model/src/test/java/com/yahoo/vespa/model/application/validation/StreamingValidatorTest.java @@ -29,7 +29,7 @@ public class StreamingValidatorTest { new VespaModelCreatorWithFilePkg("src/test/cfg/application/validation/document_references_validation/") .create(); }); - assertTrue(exception.getMessage().contains("For search cluster 'content', schema 'ad': Attribute 'campaign_ref' has type 'Reference<campaign>'. " + + assertTrue(exception.getMessage().contains("For streaming search cluster 'content.ad': Attribute 'campaign_ref' has type 'Reference<campaign>'. " + "Document references and imported fields are not allowed in streaming search.")); } @@ -52,7 +52,7 @@ public class StreamingValidatorTest { "attribute { distance-metric: euclidean } }"); var warnings = filter(logger.warnings); assertEquals(1, warnings.size()); - assertEquals("For search cluster 'content', schema 'test', SD field 'nn': hnsw index is not relevant and not supported, ignoring setting", + assertEquals("For streaming search cluster 'content.test', SD field 'nn': hnsw index is not relevant and not supported, ignoring setting", warnings.get(0)); } diff --git a/config-model/src/test/java/com/yahoo/vespa/model/application/validation/change/StreamingSchemaClusterChangeValidatorTest.java b/config-model/src/test/java/com/yahoo/vespa/model/application/validation/change/StreamingSchemaClusterChangeValidatorTest.java index 28eabd18539..ee64ceb6969 100644 --- a/config-model/src/test/java/com/yahoo/vespa/model/application/validation/change/StreamingSchemaClusterChangeValidatorTest.java +++ b/config-model/src/test/java/com/yahoo/vespa/model/application/validation/change/StreamingSchemaClusterChangeValidatorTest.java @@ -92,9 +92,9 @@ public class StreamingSchemaClusterChangeValidatorTest { private static final String ATTRIBUTE_INT_FIELD = "field f1 type int { indexing: attribute | summary }"; private static final String ATTRIBUTE_FAST_ACCESS_INT_FIELD = "field f1 type int { indexing: attribute | summary \n attribute: fast-access }"; private static final List<ServiceInfo> FOO_SERVICE = - List.of(new ServiceInfo("searchnode", "null", null, null, "foo/search/cluster.foo/0", "null")); + List.of(new ServiceInfo("searchnode", "null", null, null, "foo/search/0", "null")); private static final List<ServiceInfo> BAR_SERVICE = - List.of(new ServiceInfo("searchnode2", "null", null, null, "bar/search/cluster.bar/0", "null")); + List.of(new ServiceInfo("searchnode2", "null", null, null, "bar/search/0", "null")); @Test void changing_field_type_requires_refeed() { 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 327b169a629..f8adb18a2c3 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 @@ -22,6 +22,7 @@ import com.yahoo.vespa.model.content.engines.ProtonEngine; import com.yahoo.vespa.model.search.IndexedSearchCluster; import com.yahoo.vespa.model.search.SearchCluster; import com.yahoo.vespa.model.search.SearchNode; +import com.yahoo.vespa.model.search.StreamingSearchCluster; import com.yahoo.vespa.model.test.utils.VespaModelCreatorWithMockPkg; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; @@ -196,11 +197,12 @@ public class ContentBuilderTest extends DomBuilderTest { ContentSearchCluster s; s = cluster.getSearch(); - assertTrue(s.hasIndexedCluster()); + assertFalse(s.hasIndexedCluster()); assertEquals(1, s.getClusters().size()); - SearchCluster sc = s.getClusters().get(musicClusterId); - assertEquals(musicClusterId, sc.getClusterName()); - assertEquals(musicClusterId, sc.getStorageRouteSpec()); + assertNull(s.getIndexed()); + SearchCluster sc = s.getClusters().get(musicClusterId + ".music"); + assertEquals(musicClusterId + ".music", sc.getClusterName()); + assertEquals(musicClusterId, ((StreamingSearchCluster) sc).getStorageRouteSpec()); assertTrue(cluster.getPersistence() instanceof ProtonEngine.Factory); assertEquals(1, cluster.getStorageCluster().getChildren().size()); @@ -235,11 +237,24 @@ public class ContentBuilderTest extends DomBuilderTest { " <node hostalias=\"mockhost\" distribution-key=\"0\"/>" + " </group>" + "</content>"); - ContentSearchCluster s = cluster.getSearch(); - assertTrue(s.hasIndexedCluster()); - assertEquals(2, s.getIndexed().getDocumentDbs().size()); - assertTrue(s.getIndexed().hasDocumentDB("book")); - assertTrue(s.getIndexed().hasDocumentDB("music")); + ContentSearchCluster s; + + s = cluster.getSearch(); + assertFalse(s.hasIndexedCluster()); + assertEquals(2, s.getClusters().size()); + assertNull(s.getIndexed()); + { + String id = musicClusterId + ".book"; + SearchCluster sc = s.getClusters().get(id); + assertEquals(id, sc.getClusterName()); + assertEquals(musicClusterId, ((StreamingSearchCluster) sc).getStorageRouteSpec()); + } + { + String id = musicClusterId + ".music"; + SearchCluster sc = s.getClusters().get(id); + assertEquals(id, sc.getClusterName()); + assertEquals(musicClusterId, ((StreamingSearchCluster) sc).getStorageRouteSpec()); + } assertTrue(cluster.getPersistence() instanceof ProtonEngine.Factory); assertEquals(1, cluster.getStorageCluster().getChildren().size()); @@ -348,7 +363,9 @@ public class ContentBuilderTest extends DomBuilderTest { " <node hostalias=\"mockhost\" distribution-key=\"0\" />" + " </group>" + "</content>", new TestProperties().setEnvironmentVariables(List.of("MY_1_ENV=xyz abc", "MY_2_ENV=2"))); - ContentSearchCluster s = b.getSearch(); + ContentSearchCluster s; + + s = b.getSearch(); assertTrue(s.hasIndexedCluster()); assertNotNull(s.getIndexed()); assertEquals(1, b.getStorageCluster().getChildren().size()); diff --git a/config-model/src/test/java/com/yahoo/vespa/model/content/IndexedTest.java b/config-model/src/test/java/com/yahoo/vespa/model/content/IndexedTest.java index ae08f78c404..6f9127779db 100644 --- a/config-model/src/test/java/com/yahoo/vespa/model/content/IndexedTest.java +++ b/config-model/src/test/java/com/yahoo/vespa/model/content/IndexedTest.java @@ -163,6 +163,7 @@ public class IndexedTest extends ContentBaseTest { // "transactionlogserver"}; // DomContentBuilderTest.assertServices(h, expectedServices); ContentCluster s = model.getContentClusters().get("test"); + assertFalse(s.getSearch().hasIndexedCluster()); StorServerConfig.Builder builder = new StorServerConfig.Builder(); s.getStorageCluster().getConfig(builder); @@ -174,6 +175,7 @@ public class IndexedTest extends ContentBaseTest { VespaModel model = getStreamingVespaModel(); ContentCluster s = model.getContentClusters().get("test"); assertNotNull(s); + assertFalse(s.getSearch().hasIndexedCluster()); ClusterListConfig config = model.getConfig(ClusterListConfig.class, VespaModel.ROOT_CONFIGID); assertEquals(1, config.storage().size()); assertEquals("test", config.storage(0).name()); 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 4cf4068f331..eb4ec1af157 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 @@ -1,6 +1,7 @@ // Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. 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.path.Path; @@ -18,6 +19,7 @@ import com.yahoo.vespa.model.content.utils.DocType; import com.yahoo.vespa.model.search.IndexedSearchCluster; import org.junit.jupiter.api.Test; +import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -310,7 +312,7 @@ public class DocumentDatabaseTestCase { var tester = new SchemaTester(); var model = tester.createModelWithMode(mode, sds); - DocumentdbInfoConfig dcfg = model.getConfig(DocumentdbInfoConfig.class, "test/search/cluster.test"); + DocumentdbInfoConfig dcfg = model.getConfig(DocumentdbInfoConfig.class, "test/search/cluster.test.type"); assertEquals(1, dcfg.documentdb().size()); DocumentdbInfoConfig.Documentdb db = dcfg.documentdb(0); assertEquals("type", db.name()); @@ -329,11 +331,13 @@ public class DocumentDatabaseTestCase { var tester = new SchemaTester(); var model = tester.createModel(sds, ""); DocumentdbInfoConfig indexed_cfg = model.getConfig(DocumentdbInfoConfig.class, "test/search/cluster.test"); - assertEquals(2, indexed_cfg.documentdb().size()); + assertEquals(1, indexed_cfg.documentdb().size()); var db = indexed_cfg.documentdb(0); assertEquals("a", db.name()); assertEquals(DocumentdbInfoConfig.Documentdb.Mode.INDEX, db.mode()); - db = indexed_cfg.documentdb(1); + DocumentdbInfoConfig streaming_cfg = model.getConfig(DocumentdbInfoConfig.class, "test/search/cluster.test.b"); + assertEquals(1, streaming_cfg.documentdb().size()); + db = streaming_cfg.documentdb(0); assertEquals("b", db.name()); assertEquals(DocumentdbInfoConfig.Documentdb.Mode.STREAMING, db.mode()); } @@ -375,7 +379,7 @@ public class DocumentDatabaseTestCase { void testThatAttributesMaxUnCommittedMemoryIsControlledByFeatureFlag() { assertAttributesConfigIndependentOfMode("index", List.of("type1"), List.of("test/search/cluster.test/type1"), - Map.of("type1", List.of("f2", "f2_nfa")), + ImmutableMap.of("type1", List.of("f2", "f2_nfa")), new DeployState.Builder().properties(new TestProperties().maxUnCommittedMemory(193452)), 193452); } @@ -383,20 +387,20 @@ public class DocumentDatabaseTestCase { void testThatAttributesConfigIsProducedForIndexed() { assertAttributesConfigIndependentOfMode("index", List.of("type1"), List.of("test/search/cluster.test/type1"), - Map.of("type1", List.of("f2", "f2_nfa"))); + ImmutableMap.of("type1", List.of("f2", "f2_nfa"))); } @Test void testThatAttributesConfigIsProducedForStreamingForFastAccessFields() { assertAttributesConfigIndependentOfMode("streaming", List.of("type1"), - List.of("test/search/cluster.test/type1"), - Map.of("type1", List.of("f2"))); + List.of("test/search/type1"), + ImmutableMap.of("type1", List.of("f2"))); } @Test void testThatAttributesConfigIsNotProducedForStoreOnlyEvenForFastAccessFields() { assertAttributesConfigIndependentOfMode("store-only", List.of("type1"), - List.of("test/search"), Map.of()); + List.of("test/search"), Collections.emptyMap()); } } diff --git a/config-model/src/test/java/com/yahoo/vespa/model/search/test/SchemaInfoTester.java b/config-model/src/test/java/com/yahoo/vespa/model/search/test/SchemaInfoTester.java index 9e4ca630340..388c064daf4 100644 --- a/config-model/src/test/java/com/yahoo/vespa/model/search/test/SchemaInfoTester.java +++ b/config-model/src/test/java/com/yahoo/vespa/model/search/test/SchemaInfoTester.java @@ -2,11 +2,13 @@ package com.yahoo.vespa.model.search.test; import com.yahoo.config.model.deploy.TestProperties; +import com.yahoo.document.DataType; import com.yahoo.schema.RankProfileRegistry; import com.yahoo.schema.Schema; import com.yahoo.schema.derived.SchemaInfo; import com.yahoo.schema.derived.Summaries; import com.yahoo.schema.document.SDDocumentType; +import com.yahoo.schema.document.SDField; import com.yahoo.search.config.SchemaInfoConfig; import com.yahoo.vespa.documentmodel.DocumentSummary; import com.yahoo.vespa.model.test.utils.DeployLoggerStub; @@ -25,7 +27,7 @@ public class SchemaInfoTester { } public String schemaInfoConfig(Schema schema) { - var schemaInfo = new SchemaInfo(schema, SchemaInfo.IndexMode.INDEX, new RankProfileRegistry(), new Summaries(schema, new DeployLoggerStub(), new TestProperties())); + var schemaInfo = new SchemaInfo(schema, new RankProfileRegistry(), new Summaries(schema, new DeployLoggerStub(), new TestProperties())); var schemaInfoConfigBuilder = new SchemaInfoConfig.Builder(); schemaInfo.getConfig(schemaInfoConfigBuilder); var schemaInfoConfig = schemaInfoConfigBuilder.build(); |