From 4f7338e2778a8780996a8a610db527cb4ab392af Mon Sep 17 00:00:00 2001 From: Henning Baldersheim Date: Wed, 13 Mar 2024 15:46:15 +0100 Subject: Do all construction in constructor and make members final. --- .../prelude/cluster/ClusterSearcherTestCase.java | 2 + .../prelude/fastsearch/IndexedBackendTestCase.java | 47 +++++++--------------- .../prelude/fastsearch/PartialFillTestCase.java | 7 ++++ .../search/dispatch/rpc/RpcSearchInvokerTest.java | 3 +- .../StreamingSearcherTestCase.java | 11 ++--- 5 files changed, 29 insertions(+), 41 deletions(-) (limited to 'container-search/src/test/java/com/yahoo') diff --git a/container-search/src/test/java/com/yahoo/prelude/cluster/ClusterSearcherTestCase.java b/container-search/src/test/java/com/yahoo/prelude/cluster/ClusterSearcherTestCase.java index ff91f346195..4adbce3add9 100644 --- a/container-search/src/test/java/com/yahoo/prelude/cluster/ClusterSearcherTestCase.java +++ b/container-search/src/test/java/com/yahoo/prelude/cluster/ClusterSearcherTestCase.java @@ -7,6 +7,7 @@ import com.yahoo.concurrent.InThreadExecutorService; import com.yahoo.container.QrSearchersConfig; import com.yahoo.container.handler.ClustersStatus; import com.yahoo.container.handler.VipStatus; +import com.yahoo.prelude.fastsearch.ClusterParams; import com.yahoo.prelude.fastsearch.DocumentdbInfoConfig; import com.yahoo.prelude.fastsearch.FastHit; import com.yahoo.prelude.fastsearch.VespaBackend; @@ -213,6 +214,7 @@ public class ClusterSearcherTestCase { } MyMockBackend(boolean expectAttributePrefetch) { + super(new ClusterParams("container.0")); this.expectAttributePrefetch = expectAttributePrefetch; init(); } diff --git a/container-search/src/test/java/com/yahoo/prelude/fastsearch/IndexedBackendTestCase.java b/container-search/src/test/java/com/yahoo/prelude/fastsearch/IndexedBackendTestCase.java index 917206bf00c..58427bee30a 100644 --- a/container-search/src/test/java/com/yahoo/prelude/fastsearch/IndexedBackendTestCase.java +++ b/container-search/src/test/java/com/yahoo/prelude/fastsearch/IndexedBackendTestCase.java @@ -36,16 +36,13 @@ import static org.junit.jupiter.api.Assertions.*; public class IndexedBackendTestCase { private static final String SCHEMA = "test"; private static final String CLUSTER = "test"; + private static final ClusterParams CLUSTER_PARAMS = new ClusterParams("testhittype", "container.0", null, + documentdbInfoConfig(SCHEMA), schemaInfo(SCHEMA)); @Test void testNullQuery() { Logger.getLogger(IndexedBackend.class.getName()).setLevel(Level.ALL); - IndexedBackend fastSearcher = new IndexedBackend("container.0", - MockDispatcher.create(List.of()), - new SummaryParameters(null), - new ClusterParams("testhittype"), - documentdbInfoConfig(SCHEMA), - schemaInfo(SCHEMA)); + IndexedBackend fastSearcher = new IndexedBackend(CLUSTER_PARAMS, MockDispatcher.create(List.of())); String query = "?junkparam=ignored"; Result result = doSearch(fastSearcher, new Query(query), 0, 10); @@ -65,12 +62,8 @@ public class IndexedBackendTestCase { @Test void testSinglePassGroupingIsForcedWithSingleNodeGroups() { - IndexedBackend fastSearcher = new IndexedBackend("container.0", - MockDispatcher.create(List.of(new Node(CLUSTER, 0, "host0", 0))), - new SummaryParameters(null), - new ClusterParams("testhittype"), - documentdbInfoConfig(SCHEMA), - schemaInfo(SCHEMA)); + IndexedBackend fastSearcher = new IndexedBackend(CLUSTER_PARAMS, + MockDispatcher.create(List.of(new Node(CLUSTER, 0, "host0", 0)))); Query q = new Query("?query=foo"); GroupingRequest request1 = GroupingRequest.newInstance(q); request1.setRootOperation(new AllOperation()); @@ -88,12 +81,8 @@ public class IndexedBackendTestCase { @Test void testRankProfileValidation() { - IndexedBackend fastSearcher = new IndexedBackend("container.0", - MockDispatcher.create(List.of(new Node(CLUSTER, 0, "host0", 0))), - new SummaryParameters(null), - new ClusterParams("testhittype"), - documentdbInfoConfig(SCHEMA), - schemaInfo(SCHEMA)); + IndexedBackend fastSearcher = new IndexedBackend(CLUSTER_PARAMS, + MockDispatcher.create(List.of(new Node(CLUSTER, 0, "host0", 0)))); assertFalse(searchError("?query=q", fastSearcher).contains("does not contain requested rank profile")); assertFalse(searchError("?query=q&ranking.profile=default", fastSearcher).contains("does not contain requested rank profile")); assertTrue(searchError("?query=q&ranking.profile=nosuch", fastSearcher).contains("does not contain requested rank profile")); @@ -101,18 +90,15 @@ public class IndexedBackendTestCase { @Test void testSummaryNeedsQuery() { - var documentDb = new DocumentdbInfoConfig(new DocumentdbInfoConfig.Builder().documentdb(new DocumentdbInfoConfig.Documentdb.Builder().name(SCHEMA))); var schema = new Schema.Builder(SCHEMA) .add(new DocumentSummary.Builder("default").build()) .add(new RankProfile.Builder("default").setHasRankFeatures(false) .setHasSummaryFeatures(false) .build()); - IndexedBackend backend = new IndexedBackend("container.0", - MockDispatcher.create(Collections.singletonList(new Node(CLUSTER, 0, "host0", 0))), - new SummaryParameters(null), - new ClusterParams("testhittype"), - documentDb, - new SchemaInfo(List.of(schema.build()), List.of())); + var backend = new IndexedBackend(new ClusterParams(CLUSTER_PARAMS.getSearcherName(), CLUSTER_PARAMS.getServerId(), + CLUSTER_PARAMS.getDefaultSummary(), CLUSTER_PARAMS.getDocumentdbInfoConfig(), + new SchemaInfo(List.of(schema.build()), List.of())), + MockDispatcher.create(Collections.singletonList(new Node(CLUSTER, 0, "host0", 0)))); Query q = new Query("?query=foo"); Result result = doSearch(backend, q, 0, 10); assertFalse(backend.summaryNeedsQuery(q)); @@ -127,12 +113,7 @@ public class IndexedBackendTestCase { void testSinglePassGroupingIsNotForcedWithSingleNodeGroups() { MockDispatcher dispatcher = MockDispatcher.create(List.of(new Node(CLUSTER, 0, "host0", 0), new Node(CLUSTER, 2, "host1", 0))); - IndexedBackend fastSearcher = new IndexedBackend("container.0", - dispatcher, - new SummaryParameters(null), - new ClusterParams("testhittype"), - documentdbInfoConfig(SCHEMA), - schemaInfo(SCHEMA)); + IndexedBackend fastSearcher = new IndexedBackend(CLUSTER_PARAMS, dispatcher); Query q = new Query("?query=foo"); GroupingRequest request1 = GroupingRequest.newInstance(q); request1.setRootOperation(new AllOperation()); @@ -185,12 +166,12 @@ public class IndexedBackendTestCase { return searcher.search(SCHEMA, new Query(query)); } - private DocumentdbInfoConfig documentdbInfoConfig(String schemaName) { + private static DocumentdbInfoConfig documentdbInfoConfig(String schemaName) { var db = new DocumentdbInfoConfig.Documentdb.Builder().name(schemaName); return new DocumentdbInfoConfig.Builder().documentdb(db).build(); } - private SchemaInfo schemaInfo(String schemaName) { + private static SchemaInfo schemaInfo(String schemaName) { var schema = new Schema.Builder(schemaName); schema.add(new RankProfile.Builder("default").build()); return new SchemaInfo(List.of(schema.build()), List.of()); diff --git a/container-search/src/test/java/com/yahoo/prelude/fastsearch/PartialFillTestCase.java b/container-search/src/test/java/com/yahoo/prelude/fastsearch/PartialFillTestCase.java index 7760e204d4b..7e3509cbef9 100644 --- a/container-search/src/test/java/com/yahoo/prelude/fastsearch/PartialFillTestCase.java +++ b/container-search/src/test/java/com/yahoo/prelude/fastsearch/PartialFillTestCase.java @@ -17,9 +17,13 @@ import static org.junit.jupiter.api.Assertions.*; * @author havardpe */ public class PartialFillTestCase { + private static final ClusterParams CLUSTER_PARAMS = new ClusterParams("container.0"); public static class FS4 extends VespaBackend { public List history = new ArrayList<>(); + FS4() { + super(CLUSTER_PARAMS); + } protected Result doSearch2(String schema, Query query) { return new Result(query); } @@ -29,6 +33,9 @@ public class PartialFillTestCase { } public static class BadFS4 extends VespaBackend { + BadFS4() { + super(CLUSTER_PARAMS); + } protected Result doSearch2(String schema, Query query) { return new Result(query); } diff --git a/container-search/src/test/java/com/yahoo/search/dispatch/rpc/RpcSearchInvokerTest.java b/container-search/src/test/java/com/yahoo/search/dispatch/rpc/RpcSearchInvokerTest.java index ef8e0522337..b6fa385cfae 100644 --- a/container-search/src/test/java/com/yahoo/search/dispatch/rpc/RpcSearchInvokerTest.java +++ b/container-search/src/test/java/com/yahoo/search/dispatch/rpc/RpcSearchInvokerTest.java @@ -5,6 +5,7 @@ package com.yahoo.search.dispatch.rpc; import ai.vespa.searchlib.searchprotocol.protobuf.SearchProtocol; import com.google.common.collect.ImmutableMap; import com.yahoo.compress.CompressionType; +import com.yahoo.prelude.fastsearch.ClusterParams; import com.yahoo.prelude.fastsearch.VespaBackend; import com.yahoo.search.Query; import com.yahoo.search.Result; @@ -118,7 +119,7 @@ public class RpcSearchInvokerTest { } private VespaBackend mockSearcher() { - return new VespaBackend() { + return new VespaBackend(new ClusterParams("container.0")) { @Override protected Result doSearch2(String schema, Query query) { fail("Unexpected call"); diff --git a/container-search/src/test/java/com/yahoo/vespa/streamingvisitors/StreamingSearcherTestCase.java b/container-search/src/test/java/com/yahoo/vespa/streamingvisitors/StreamingSearcherTestCase.java index b96dd97f76c..8d264f9860b 100644 --- a/container-search/src/test/java/com/yahoo/vespa/streamingvisitors/StreamingSearcherTestCase.java +++ b/container-search/src/test/java/com/yahoo/vespa/streamingvisitors/StreamingSearcherTestCase.java @@ -9,7 +9,6 @@ import com.yahoo.messagebus.routing.Route; import com.yahoo.prelude.fastsearch.ClusterParams; import com.yahoo.prelude.fastsearch.DocumentdbInfoConfig; import com.yahoo.document.select.parser.ParseException; -import com.yahoo.prelude.fastsearch.SummaryParameters; import com.yahoo.prelude.fastsearch.TimeoutException; import com.yahoo.search.Query; import com.yahoo.search.Result; @@ -46,6 +45,7 @@ public class StreamingSearcherTestCase { public static final String USERDOC_ID_PREFIX = "id:namespace:mytype:n=1:userspecific"; public static final String GROUPDOC_ID_PREFIX = "id:namespace:mytype:g=group1:userspecific"; + private static final ClusterParams CLUSTER_PARAMS = new ClusterParams("clusterName"); private static class MockVisitor implements Visitor { private final Query query; @@ -229,15 +229,12 @@ public class StreamingSearcherTestCase { @Test void testBasics() { MockVisitorFactory factory = new MockVisitorFactory(); - StreamingBackend searcher = new StreamingBackend(factory); - var schema = new Schema.Builder("test"); schema.add(new com.yahoo.search.schema.DocumentSummary.Builder("default").build()); - searcher.init("container.0", - new SummaryParameters("default"), - new ClusterParams("clusterName"), + ClusterParams clusterParams = new ClusterParams("clusterName", "server.0", "default", new DocumentdbInfoConfig.Builder().documentdb(new DocumentdbInfoConfig.Documentdb.Builder().name("test")).build(), new SchemaInfo(List.of(schema.build()), List.of())); + StreamingBackend searcher = new StreamingBackend(clusterParams, "search-cluster-A", factory, "content-cluster-A"); // Magic query values are used to trigger specific behaviors from mock visitor. checkError(searcher, "/?query=noselection", @@ -310,7 +307,7 @@ public class StreamingSearcherTestCase { clock = MockUtils.mockedClockReturning(firstTimestamp, additionalTimestamps); options = new TracingOptions(sampler, exporter, clock, 8, 2.0); factory = new MockVisitorFactory(); - searcher = new StreamingBackend(factory, options); + searcher = new StreamingBackend(CLUSTER_PARAMS, "search-cluster-A", factory, "content-cluster-A", options); } private TraceFixture() { -- cgit v1.2.3