aboutsummaryrefslogtreecommitdiffstats
path: root/container-search/src/main/java/com/yahoo/search/dispatch/LoadBalancer.java
blob: 8e90eae0eb35e48a7a5a433f262cac71c35c2a67 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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();
    }
}