summaryrefslogtreecommitdiffstats
path: root/container-search/src/main/java/com/yahoo/search/dispatch/LoadBalancer.java
diff options
context:
space:
mode:
authorOlli Virtanen <olli.virtanen@oath.com>2018-08-30 10:09:42 +0200
committerOlli Virtanen <olli.virtanen@oath.com>2018-08-30 10:09:42 +0200
commit6e56ca5b6f2064094933859f530df849f2e28716 (patch)
tree2bd367366f23800f7f88436f3c45b319e3cba84d /container-search/src/main/java/com/yahoo/search/dispatch/LoadBalancer.java
parent1f554f8bb745cb3b5ea60e9dd2aafd10ceb1f22e (diff)
Create code path for extending java side dispatcher
Diffstat (limited to 'container-search/src/main/java/com/yahoo/search/dispatch/LoadBalancer.java')
-rw-r--r--container-search/src/main/java/com/yahoo/search/dispatch/LoadBalancer.java27
1 files changed, 27 insertions, 0 deletions
diff --git a/container-search/src/main/java/com/yahoo/search/dispatch/LoadBalancer.java b/container-search/src/main/java/com/yahoo/search/dispatch/LoadBalancer.java
new file mode 100644
index 00000000000..8e90eae0eb3
--- /dev/null
+++ b/container-search/src/main/java/com/yahoo/search/dispatch/LoadBalancer.java
@@ -0,0 +1,27 @@
+package com.yahoo.search.dispatch;
+
+import com.yahoo.search.Query;
+import com.yahoo.search.dispatch.SearchCluster.Group;
+
+import java.util.Optional;
+
+public class LoadBalancer {
+
+ private final SearchCluster searchCluster;
+
+ public LoadBalancer(SearchCluster searchCluster) {
+ this.searchCluster = searchCluster;
+ }
+
+ public Optional<Group> getGroupForQuery(Query query) {
+ if (searchCluster.groups().size() == 1) {
+ for(Group group: searchCluster.groups().values()) {
+ // since the number of groups is 1, this will run only once
+ if(group.nodes().size() == 1) {
+ return Optional.of(group);
+ }
+ }
+ }
+ return Optional.empty();
+ }
+}