Class NodePreferenceRulesComparator
java.lang.Object
org.apache.solr.client.solrj.routing.NodePreferenceRulesComparator
This comparator makes sure that the given replicas are sorted according to the given list of
preferences. E.g. If all nodes prefer local cores then a bad/heavily-loaded node will receive
fewer requests from healthy nodes. This will help prevent a distributed deadlock or timeouts in
all the healthy nodes due to one bad node.
Optional final preferenceRule is *not* used for pairwise sorting, but instead defines how "equivalent" replicas will be ordered (the base ordering). Defaults to "random"; may specify "stable".
-
Constructor Summary
ConstructorsConstructorDescriptionNodePreferenceRulesComparator(List<PreferenceRule> preferenceRules, SolrParams requestParams, String nodeName, String baseUrl, String hostName, NodesSysProps sysProps, ReplicaListTransformerFactory defaultRltFactory, ReplicaListTransformerFactory stableRltFactory) NodePreferenceRulesComparator(List<PreferenceRule> preferenceRules, SolrParams requestParams, ReplicaListTransformerFactory defaultRltFactory, ReplicaListTransformerFactory stableRltFactory) -
Method Summary
-
Constructor Details
-
NodePreferenceRulesComparator
public NodePreferenceRulesComparator(List<PreferenceRule> preferenceRules, SolrParams requestParams, ReplicaListTransformerFactory defaultRltFactory, ReplicaListTransformerFactory stableRltFactory) -
NodePreferenceRulesComparator
public NodePreferenceRulesComparator(List<PreferenceRule> preferenceRules, SolrParams requestParams, String nodeName, String baseUrl, String hostName, NodesSysProps sysProps, ReplicaListTransformerFactory defaultRltFactory, ReplicaListTransformerFactory stableRltFactory)
-
-
Method Details
-
getBaseReplicaListTransformer
-
getComparator
-
getReplicaComparator
-
getUrlComparator
-
getPreferenceRules
-