Package org.elasticsearch.gateway
Class PriorityComparator
java.lang.Object
org.elasticsearch.gateway.PriorityComparator
- All Implemented Interfaces:
java.util.Comparator<ShardRouting>
public abstract class PriorityComparator extends java.lang.Object implements java.util.Comparator<ShardRouting>
A comparator that compares ShardRouting based on it's indexes priority (index.priority),
it's creation date (index.creation_date), or eventually by it's index name in reverse order.
We try to recover first shards from an index with the highest priority, if that's the same
we try to compare the timestamp the index is created and pick the newer first (time-based indices,
here the newer indices matter more). If even that is the same, we compare the index name which is useful
if the date is baked into the index name. ie logstash-2015.05.03.
-
Constructor Summary
Constructors Constructor Description PriorityComparator()
-
Method Summary
Modifier and Type Method Description int
compare(ShardRouting o1, ShardRouting o2)
static PriorityComparator
getAllocationComparator(RoutingAllocation allocation)
Returns a PriorityComparator that uses the RoutingAllocation index metadata to access the index setting per index.protected abstract Settings
getIndexSettings(Index index)
-
Constructor Details
-
PriorityComparator
public PriorityComparator()
-
-
Method Details
-
compare
- Specified by:
compare
in interfacejava.util.Comparator<ShardRouting>
-
getIndexSettings
-
getAllocationComparator
Returns a PriorityComparator that uses the RoutingAllocation index metadata to access the index setting per index.
-