diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2024-03-11 16:32:20 +0100 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2024-03-11 16:32:20 +0100 |
commit | de954d574001b29ea15b55f9b327ea240ca32892 (patch) | |
tree | 5509d502cb6ca09e800626991740a9925090d509 /container-search | |
parent | 354136dc94d1963384573d2f2728f1fb408f3d9a (diff) |
Test that multiple backends can be used.
Diffstat (limited to 'container-search')
-rw-r--r-- | container-search/src/main/java/com/yahoo/prelude/fastsearch/BoolField.java | 1 | ||||
-rw-r--r-- | container-search/src/test/java/com/yahoo/prelude/cluster/ClusterSearcherTestCase.java | 30 |
2 files changed, 29 insertions, 2 deletions
diff --git a/container-search/src/main/java/com/yahoo/prelude/fastsearch/BoolField.java b/container-search/src/main/java/com/yahoo/prelude/fastsearch/BoolField.java index c0f42f6924b..6a980c37f4e 100644 --- a/container-search/src/main/java/com/yahoo/prelude/fastsearch/BoolField.java +++ b/container-search/src/main/java/com/yahoo/prelude/fastsearch/BoolField.java @@ -7,7 +7,6 @@ package com.yahoo.prelude.fastsearch; import com.yahoo.data.access.Inspector; -import com.yahoo.search.result.NanNumber; /** * @author bratseth 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 d52fbe580a7..ff91f346195 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 @@ -130,6 +130,29 @@ public class ClusterSearcherTestCase { } } + @Test + void testThatMultipleBackendsAreUsed() { + var backendA = new MyMockBackend(false); + var backendB = new MyMockBackend(false); + SchemaInfo schemaInfo = createSchemaInfo(); + var cluster1 = new ClusterSearcher(schemaInfo, Map.of("type1", backendA, "type2", backendB, "type3", backendA), + new InThreadExecutorService()); + try { + Execution execution = new Execution(cluster1, Execution.Context.createContextStub()); + execution.search(new Query("?query=hello")); + assertEquals(2, backendA.queries().size()); + assertEquals(1, backendB.queries().size()); + execution.search(new Query("?query=hello&restrict=type1")); + assertEquals(3, backendA.queries().size()); + assertEquals(1, backendB.queries().size()); + execution.search(new Query("?query=hello&restrict=type2,type3")); + assertEquals(4, backendA.queries().size()); + assertEquals(2, backendB.queries().size()); + } finally { + cluster1.deconstruct(); + } + } + private static class MyMockBackend extends VespaBackend { private final String type1 = "type1"; @@ -137,6 +160,8 @@ public class ClusterSearcherTestCase { private final String type3 = "type3"; private final Map<String, List<Hit>> results = new LinkedHashMap<>(); private final boolean expectAttributePrefetch; + + private final List<Query> queries = new ArrayList<>(); static final String ATTRIBUTE_PREFETCH = "attributeprefetch"; private String getId(String type, int i) { @@ -197,8 +222,11 @@ public class ClusterSearcherTestCase { return null; // search() is overriden, this should never be called } + List<Query> queries() { return queries; } + @Override public com.yahoo.search.Result search(String schema, Query query) { + queries.add(query); com.yahoo.search.Result result = new com.yahoo.search.Result(query); List<Hit> hits = getHits(query); if (hits != null) { @@ -419,7 +447,7 @@ public class ClusterSearcherTestCase { assertResult(6, List.of(7.0, 9.0), getResult(3, 2, extra, ex)); assertResult(6, List.of(9.0, 10.0), getResult(4, 2, extra, ex)); assertResult(6, List.of(10.0), getResult(5, 2, extra, ex)); - assertResult(6, List.of(), getResult(6, 2, extra, ex)); + assertResult(6, List.of(), getResult(6, 2, extra, ex)); } private static ClusterSearcher createSearcher(String clusterName, Double maxQueryTimeout, Double maxQueryCacheTimeout, |