From e290e911e0adb70ee069328844bade5117b0da06 Mon Sep 17 00:00:00 2001 From: Henning Baldersheim Date: Fri, 15 Mar 2024 16:02:03 +0100 Subject: Revert "Single searchcluster take 3" --- .../validation/StreamingValidatorTest.java | 4 +-- .../StreamingSchemaClusterChangeValidatorTest.java | 4 +-- .../model/builder/xml/dom/ContentBuilderTest.java | 41 +++++++++++++++++----- .../search/searchchain/MockSearchClusters.java | 8 ++++- .../com/yahoo/vespa/model/content/IndexedTest.java | 2 ++ .../search/test/DocumentDatabaseTestCase.java | 8 +++-- 6 files changed, 50 insertions(+), 17 deletions(-) (limited to 'config-model/src/test/java') 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 2879baf7b88..d3e62dae947 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', streaming schema 'ad': Attribute 'campaign_ref' has type 'Reference'. " + + assertTrue(exception.getMessage().contains("For search cluster 'content.ad', streaming schema 'ad': Attribute 'campaign_ref' has type 'Reference'. " + "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', streaming schema 'test', SD field 'nn': hnsw index is not relevant and not supported, ignoring setting", + assertEquals("For search cluster 'content.test', streaming schema '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 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 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 a4a5f4cb4df..d3e69e64fe6 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 @@ -63,6 +63,7 @@ public class ContentBuilderTest extends DomBuilderTest { ContentSearchCluster s = a.getSearch(); assertFalse(s.hasIndexedCluster()); + assertTrue(s.getClusters().isEmpty()); assertTrue(a.getPersistence() instanceof com.yahoo.vespa.model.content.engines.DummyPersistence.Factory); } @@ -82,6 +83,7 @@ public class ContentBuilderTest extends DomBuilderTest { ContentSearchCluster s = a.getSearch(); assertFalse(s.hasIndexedCluster()); + assertTrue(s.getClusters().isEmpty()); assertTrue(a.getPersistence() instanceof ProtonEngine.Factory); @@ -106,6 +108,7 @@ public class ContentBuilderTest extends DomBuilderTest { ContentSearchCluster s = a.getSearch(); assertFalse(s.hasIndexedCluster()); + assertTrue(s.getClusters().isEmpty()); assertTrue(a.getPersistence() instanceof ProtonEngine.Factory); @@ -127,6 +130,7 @@ public class ContentBuilderTest extends DomBuilderTest { ContentSearchCluster s = a.getSearch(); assertFalse(s.hasIndexedCluster()); + assertTrue(s.getClusters().isEmpty()); assertNull(s.getIndexed()); assertNull(a.getRootGroup().getName()); @@ -147,6 +151,7 @@ public class ContentBuilderTest extends DomBuilderTest { ContentCluster c = CollectionUtil.first(m.getContentClusters().values()); ContentSearchCluster s = c.getSearch(); assertTrue(s.hasIndexedCluster()); + assertEquals(1, s.getClusters().size()); assertNotNull(s.getIndexed()); assertEquals("clu", s.getIndexed().getClusterName()); assertEquals(7.3, s.getIndexed().getQueryTimeout(), 0.0); @@ -191,9 +196,11 @@ public class ContentBuilderTest extends DomBuilderTest { ContentSearchCluster s; s = cluster.getSearch(); - assertTrue(s.hasIndexedCluster()); - SearchCluster sc = s.getIndexed(); - assertEquals(musicClusterId, sc.getClusterName()); + assertFalse(s.hasIndexedCluster()); + assertEquals(1, s.getClusters().size()); + assertNull(s.getIndexed()); + SearchCluster sc = s.getClusters().get(musicClusterId + ".music"); + assertEquals(musicClusterId + ".music", sc.getClusterName()); assertEquals(musicClusterId, sc.getStorageRouteSpec()); assertTrue(cluster.getPersistence() instanceof ProtonEngine.Factory); @@ -229,11 +236,24 @@ public class ContentBuilderTest extends DomBuilderTest { " " + " " + ""); - 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, sc.getStorageRouteSpec()); + } + { + String id = musicClusterId + ".music"; + SearchCluster sc = s.getClusters().get(id); + assertEquals(id, sc.getClusterName()); + assertEquals(musicClusterId, sc.getStorageRouteSpec()); + } assertTrue(cluster.getPersistence() instanceof ProtonEngine.Factory); assertEquals(1, cluster.getStorageCluster().getChildren().size()); @@ -257,6 +277,7 @@ public class ContentBuilderTest extends DomBuilderTest { s = b.getSearch(); assertTrue(s.hasIndexedCluster()); + assertEquals(1, s.getClusters().size()); assertNotNull(s.getIndexed()); assertEquals("b", s.getIndexed().getClusterName()); @@ -341,7 +362,9 @@ public class ContentBuilderTest extends DomBuilderTest { " " + " " + "", 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/container/search/searchchain/MockSearchClusters.java b/config-model/src/test/java/com/yahoo/vespa/model/container/search/searchchain/MockSearchClusters.java index 02a7a946e17..8f02cf7a6d4 100644 --- a/config-model/src/test/java/com/yahoo/vespa/model/container/search/searchchain/MockSearchClusters.java +++ b/config-model/src/test/java/com/yahoo/vespa/model/container/search/searchchain/MockSearchClusters.java @@ -4,6 +4,7 @@ package com.yahoo.vespa.model.container.search.searchchain; import com.yahoo.config.model.deploy.DeployState; import com.yahoo.search.config.SchemaInfoConfig; import com.yahoo.vespa.config.search.AttributesConfig; +import com.yahoo.vespa.config.search.RankProfilesConfig; import com.yahoo.config.model.producer.AbstractConfigProducerRoot; import com.yahoo.prelude.fastsearch.DocumentdbInfoConfig; import com.yahoo.search.config.IndexInfoConfig; @@ -27,13 +28,18 @@ public class MockSearchClusters { @Override public void deriveFromSchemas(DeployState deployState) { } - @Override public List getDocumentDbs() { return List.of(); } + @Override public List getDocumentDbs() {return List.of();} @Override public void getConfig(AttributesConfig.Builder builder) {} @Override public void getConfig(DocumentdbInfoConfig.Builder builder) {} @Override public void getConfig(IndexInfoConfig.Builder builder) {} @Override public void getConfig(IlscriptsConfig.Builder builder) {} @Override public void getConfig(SchemaInfoConfig.Builder builder) {} + @Override + protected SearchCluster.IndexingMode getIndexingMode() { + return streaming ? SearchCluster.IndexingMode.STREAMING : SearchCluster.IndexingMode.REALTIME; + } + } public static SearchCluster mockSearchCluster(AbstractConfigProducerRoot root, String clusterName, int clusterIndex, boolean isStreaming) { 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 b4c625a599b..d3741405c15 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 @@ -309,7 +309,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()); @@ -328,11 +328,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()); } -- cgit v1.2.3