diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2018-04-10 17:07:09 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-04-10 17:07:09 +0200 |
commit | 2604f21cf9a19057f25bbb06ebded9adfa48dd36 (patch) | |
tree | b36ed98bc247833fc6275ebb24cb7d3994f9d1ae /container-search | |
parent | 3de8865dd1f5595119eb62109be9a6ea0686e559 (diff) |
Revert "Direct dispatch by default when group size is 1"
Diffstat (limited to 'container-search')
5 files changed, 14 insertions, 6 deletions
diff --git a/container-search/src/main/java/com/yahoo/prelude/fastsearch/FS4ResourcePool.java b/container-search/src/main/java/com/yahoo/prelude/fastsearch/FS4ResourcePool.java index 8d4e9418c1c..4b71b3a45a4 100644 --- a/container-search/src/main/java/com/yahoo/prelude/fastsearch/FS4ResourcePool.java +++ b/container-search/src/main/java/com/yahoo/prelude/fastsearch/FS4ResourcePool.java @@ -27,6 +27,7 @@ import java.util.logging.Logger; * Provider for {@link com.yahoo.fs4.mplex.ListenerPool}. All users will get the same pool instance. * * @author baldersheim + * @since 5.4.0 */ public class FS4ResourcePool extends AbstractComponent { diff --git a/container-search/src/main/java/com/yahoo/prelude/fastsearch/FastSearcher.java b/container-search/src/main/java/com/yahoo/prelude/fastsearch/FastSearcher.java index a2fdcae4a18..df0ed02b70c 100644 --- a/container-search/src/main/java/com/yahoo/prelude/fastsearch/FastSearcher.java +++ b/container-search/src/main/java/com/yahoo/prelude/fastsearch/FastSearcher.java @@ -69,6 +69,8 @@ public class FastSearcher extends VespaBackEndSearcher { private final FS4ResourcePool fs4ResourcePool; + private final String selfHostname; + /** * Creates a Fastsearcher. * @@ -92,6 +94,7 @@ public class FastSearcher extends VespaBackEndSearcher { this.dispatchBackend = dispatchBackend; this.fs4ResourcePool = fs4ResourcePool; this.dispatcher = dispatcher; + this.selfHostname = HostName.getLocalhost(); } private int countFastHits(Result result) { @@ -221,12 +224,16 @@ public class FastSearcher extends VespaBackEndSearcher { * for efficiency. */ private Backend chooseBackend(Query query) { - if ( ! query.properties().getBoolean(dispatchDirect, true)) return dispatchBackend; + // TODO 2016-08-16: Turn this on by default (by changing the 'false' below to 'true') + if ( ! query.properties().getBoolean(dispatchDirect, false)) return dispatchBackend; + + // Don't use direct dispatch if the upstream ClusterSearcher did not chose the local dispatch + // as that probably means that we are in a failover situation + if ( ! dispatchBackend.getHost().equals(selfHostname)) return dispatchBackend; Optional<SearchCluster.Node> directDispatchRecipient = dispatcher.searchCluster().directDispatchTarget(); if ( ! directDispatchRecipient.isPresent()) return dispatchBackend; - // Dispatch directly to the single, local search node query.trace(false, 2, "Dispatching directly to ", directDispatchRecipient.get()); return fs4ResourcePool.getBackend(directDispatchRecipient.get().hostname(), directDispatchRecipient.get().fs4port()); diff --git a/container-search/src/test/java/com/yahoo/prelude/fastsearch/test/DirectSearchTestCase.java b/container-search/src/test/java/com/yahoo/prelude/fastsearch/test/DirectSearchTestCase.java index ca3a25d3bfa..89d3bc7d3b0 100644 --- a/container-search/src/test/java/com/yahoo/prelude/fastsearch/test/DirectSearchTestCase.java +++ b/container-search/src/test/java/com/yahoo/prelude/fastsearch/test/DirectSearchTestCase.java @@ -29,10 +29,10 @@ public class DirectSearchTestCase { } @Test - public void testDirectSearchEnabledByDefault() { + public void testDirectSearchDisabledByDefault() { FastSearcherTester tester = new FastSearcherTester(1, FastSearcherTester.selfHostname + ":9999:0"); tester.search("?query=test"); - assertEquals("The FastSearcher has used the local search node connection", 1, tester.requestCount(FastSearcherTester.selfHostname, 9999)); + assertEquals(0, tester.requestCount(FastSearcherTester.selfHostname, 9999)); } @Test diff --git a/container-search/src/test/java/com/yahoo/search/grouping/result/HitRendererTestCase.java b/container-search/src/test/java/com/yahoo/search/grouping/result/HitRendererTestCase.java index bee9aa90f56..0643e8d77f1 100644 --- a/container-search/src/test/java/com/yahoo/search/grouping/result/HitRendererTestCase.java +++ b/container-search/src/test/java/com/yahoo/search/grouping/result/HitRendererTestCase.java @@ -15,7 +15,7 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.fail; /** - * @author Simon Thoresen + * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a> */ public class HitRendererTestCase { diff --git a/container-search/src/test/java/com/yahoo/search/grouping/vespa/GroupingTransformTestCase.java b/container-search/src/test/java/com/yahoo/search/grouping/vespa/GroupingTransformTestCase.java index 185bcae424a..010a54160e9 100644 --- a/container-search/src/test/java/com/yahoo/search/grouping/vespa/GroupingTransformTestCase.java +++ b/container-search/src/test/java/com/yahoo/search/grouping/vespa/GroupingTransformTestCase.java @@ -7,7 +7,7 @@ import org.junit.Test; import static org.junit.Assert.*; /** - * @author Simon Thoresen + * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a> */ public class GroupingTransformTestCase { |