diff options
author | Olli Virtanen <olli.virtanen@oath.com> | 2018-08-30 10:09:42 +0200 |
---|---|---|
committer | Olli Virtanen <olli.virtanen@oath.com> | 2018-08-30 10:09:42 +0200 |
commit | 6e56ca5b6f2064094933859f530df849f2e28716 (patch) | |
tree | 2bd367366f23800f7f88436f3c45b319e3cba84d /container-search/src/main/java/com/yahoo/search/dispatch/LoadBalancer.java | |
parent | 1f554f8bb745cb3b5ea60e9dd2aafd10ceb1f22e (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.java | 27 |
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(); + } +} |