summaryrefslogtreecommitdiffstats
path: root/container-search/src/main/java/com/yahoo/search/dispatch/Dispatcher.java
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@oath.com>2018-11-18 23:01:00 +0100
committerGitHub <noreply@github.com>2018-11-18 23:01:00 +0100
commit812f5b1608a1f2d124c321cb6335fd69f0f0736b (patch)
tree451baa08aea435f82e476a5ed35f709ae8468e24 /container-search/src/main/java/com/yahoo/search/dispatch/Dispatcher.java
parente71b311a5a54be38ff4538edfe53b7b46a974c8b (diff)
parent90037065f19c12422f7c96b3396a67438c6c028b (diff)
Merge pull request #7679 from vespa-engine/ollivir/group-affinity-with-searchpath
Java dispatcher group affinity through searchPath
Diffstat (limited to 'container-search/src/main/java/com/yahoo/search/dispatch/Dispatcher.java')
-rw-r--r--container-search/src/main/java/com/yahoo/search/dispatch/Dispatcher.java6
1 files changed, 4 insertions, 2 deletions
diff --git a/container-search/src/main/java/com/yahoo/search/dispatch/Dispatcher.java b/container-search/src/main/java/com/yahoo/search/dispatch/Dispatcher.java
index 39fc0d31681..0382f47457e 100644
--- a/container-search/src/main/java/com/yahoo/search/dispatch/Dispatcher.java
+++ b/container-search/src/main/java/com/yahoo/search/dispatch/Dispatcher.java
@@ -115,6 +115,7 @@ public class Dispatcher extends AbstractComponent {
if (nodes.isEmpty()) {
return Optional.empty();
} else {
+ query.trace(false, 2, "Dispatching internally with search path ", searchPath);
return invokerFactory.supply(query, -1, nodes, true);
}
} catch (InvalidSearchPathException e) {
@@ -133,7 +134,7 @@ public class Dispatcher extends AbstractComponent {
int max = Integer.min(searchCluster.orderedGroups().size(), MAX_GROUP_SELECTION_ATTEMPTS);
Set<Integer> rejected = null;
for (int i = 0; i < max; i++) {
- Optional<Group> groupInCluster = loadBalancer.takeGroupForQuery(query, rejected);
+ Optional<Group> groupInCluster = loadBalancer.takeGroupForQuery(rejected);
if (!groupInCluster.isPresent()) {
// No groups available
break;
@@ -142,7 +143,8 @@ public class Dispatcher extends AbstractComponent {
boolean acceptIncompleteCoverage = (i == max - 1);
Optional<SearchInvoker> invoker = invokerFactory.supply(query, group.id(), group.nodes(), acceptIncompleteCoverage);
if (invoker.isPresent()) {
- query.trace(false, 2, "Dispatching internally to ", group);
+ query.trace(false, 2, "Dispatching internally to search group ", group.id());
+ query.getModel().setSearchPath("/" + group.id());
invoker.get().teardown(() -> loadBalancer.releaseGroup(group));
return invoker;
} else {