final PriorityComparator secondaryComparator = PriorityComparator.getAllocationComparator(allocation); final Comparator<ShardRouting> comparator = (o1, o2) -> { if (o1.primary() ^ o2.primary()) { final int secondary = secondaryComparator.compare(o1, o2); return secondary == 0 ? indexCmp : secondary; };
@Override public final int compare(ShardRouting o1, ShardRouting o2) { final String o1Index = o1.getIndexName(); final String o2Index = o2.getIndexName(); int cmp = 0; if (o1Index.equals(o2Index) == false) { final Settings settingsO1 = getIndexSettings(o1.index()); final Settings settingsO2 = getIndexSettings(o2.index()); cmp = Long.compare(priority(settingsO2), priority(settingsO1)); if (cmp == 0) { cmp = Long.compare(timeCreated(settingsO2), timeCreated(settingsO1)); if (cmp == 0) { cmp = o2Index.compareTo(o1Index); } } } return cmp; }
protected static void innerAllocatedUnassigned(RoutingAllocation allocation, PrimaryShardAllocator primaryShardAllocator, ReplicaShardAllocator replicaShardAllocator) { RoutingNodes.UnassignedShards unassigned = allocation.routingNodes().unassigned(); unassigned.sort(PriorityComparator.getAllocationComparator(allocation)); // sort for priority ordering primaryShardAllocator.allocateUnassigned(allocation); replicaShardAllocator.processExistingRecoveries(allocation); replicaShardAllocator.allocateUnassigned(allocation); }
@Override public int compare(ShardRouting o1, ShardRouting o2) { if (o1.primary() ^ o2.primary()) { return o1.primary() ? -1 : o2.primary() ? 1 : 0; } final int indexCmp; if ((indexCmp = o1.index().compareTo(o2.index())) == 0) { return o1.getId() - o2.getId(); } // this comparator is more expensive than all the others up there // that's why it's added last even though it could be easier to read // if we'd apply it earlier. this comparator will only differentiate across // indices all shards of the same index is treated equally. final int secondary = secondaryComparator.compare(o1, o2); return secondary == 0 ? indexCmp : secondary; } };
protected static void innerAllocatedUnassigned(RoutingAllocation allocation, PrimaryShardAllocator primaryShardAllocator, ReplicaShardAllocator replicaShardAllocator) { RoutingNodes.UnassignedShards unassigned = allocation.routingNodes().unassigned(); unassigned.sort(PriorityComparator.getAllocationComparator(allocation)); // sort for priority ordering primaryShardAllocator.allocateUnassigned(allocation); replicaShardAllocator.processExistingRecoveries(allocation); replicaShardAllocator.allocateUnassigned(allocation); }
@Override public final int compare(ShardRouting o1, ShardRouting o2) { final String o1Index = o1.index(); final String o2Index = o2.index(); int cmp = 0; if (o1Index.equals(o2Index) == false) { final Settings settingsO1 = getIndexSettings(o1Index); final Settings settingsO2 = getIndexSettings(o2Index); cmp = Long.compare(priority(settingsO2), priority(settingsO1)); if (cmp == 0) { cmp = Long.compare(timeCreated(settingsO2), timeCreated(settingsO1)); if (cmp == 0) { cmp = o2Index.compareTo(o1Index); } } } return cmp; }
final PriorityComparator secondaryComparator = PriorityComparator.getAllocationComparator(allocation); final Comparator<ShardRouting> comparator = (o1, o2) -> { if (o1.primary() ^ o2.primary()) { final int secondary = secondaryComparator.compare(o1, o2); return secondary == 0 ? indexCmp : secondary; };
public boolean allocateUnassigned(final RoutingAllocation allocation) { boolean changed = false; RoutingNodes.UnassignedShards unassigned = allocation.routingNodes().unassigned(); unassigned.sort(PriorityComparator.getAllocationComparator(allocation)); // sort for priority ordering changed |= primaryShardAllocator.allocateUnassigned(allocation); changed |= replicaShardAllocator.processExistingRecoveries(allocation); changed |= replicaShardAllocator.allocateUnassigned(allocation); return changed; }
@Override public final int compare(ShardRouting o1, ShardRouting o2) { final String o1Index = o1.getIndexName(); final String o2Index = o2.getIndexName(); int cmp = 0; if (o1Index.equals(o2Index) == false) { final Settings settingsO1 = getIndexSettings(o1.index()); final Settings settingsO2 = getIndexSettings(o2.index()); cmp = Long.compare(priority(settingsO2), priority(settingsO1)); if (cmp == 0) { cmp = Long.compare(timeCreated(settingsO2), timeCreated(settingsO1)); if (cmp == 0) { cmp = o2Index.compareTo(o1Index); } } } return cmp; }
final PriorityComparator secondaryComparator = PriorityComparator.getAllocationComparator(allocation); final Comparator<ShardRouting> comparator = (o1, o2) -> { if (o1.primary() ^ o2.primary()) { final int secondary = secondaryComparator.compare(o1, o2); return secondary == 0 ? indexCmp : secondary; };
protected static void innerAllocatedUnassigned(RoutingAllocation allocation, PrimaryShardAllocator primaryShardAllocator, ReplicaShardAllocator replicaShardAllocator) { RoutingNodes.UnassignedShards unassigned = allocation.routingNodes().unassigned(); unassigned.sort(PriorityComparator.getAllocationComparator(allocation)); // sort for priority ordering primaryShardAllocator.allocateUnassigned(allocation); replicaShardAllocator.processExistingRecoveries(allocation); replicaShardAllocator.allocateUnassigned(allocation); }
@Override public final int compare(ShardRouting o1, ShardRouting o2) { final String o1Index = o1.getIndexName(); final String o2Index = o2.getIndexName(); int cmp = 0; if (o1Index.equals(o2Index) == false) { final Settings settingsO1 = getIndexSettings(o1.index()); final Settings settingsO2 = getIndexSettings(o2.index()); cmp = Long.compare(priority(settingsO2), priority(settingsO1)); if (cmp == 0) { cmp = Long.compare(timeCreated(settingsO2), timeCreated(settingsO1)); if (cmp == 0) { cmp = o2Index.compareTo(o1Index); } } } return cmp; }
final PriorityComparator secondaryComparator = PriorityComparator.getAllocationComparator(allocation); final Comparator<ShardRouting> comparator = (o1, o2) -> { if (o1.primary() ^ o2.primary()) { final int secondary = secondaryComparator.compare(o1, o2); return secondary == 0 ? indexCmp : secondary; };
protected static void innerAllocatedUnassigned(RoutingAllocation allocation, PrimaryShardAllocator primaryShardAllocator, ReplicaShardAllocator replicaShardAllocator) { RoutingNodes.UnassignedShards unassigned = allocation.routingNodes().unassigned(); unassigned.sort(PriorityComparator.getAllocationComparator(allocation)); // sort for priority ordering primaryShardAllocator.allocateUnassigned(allocation); replicaShardAllocator.processExistingRecoveries(allocation); replicaShardAllocator.allocateUnassigned(allocation); }
@Override public final int compare(ShardRouting o1, ShardRouting o2) { final String o1Index = o1.getIndexName(); final String o2Index = o2.getIndexName(); int cmp = 0; if (o1Index.equals(o2Index) == false) { final Settings settingsO1 = getIndexSettings(o1.index()); final Settings settingsO2 = getIndexSettings(o2.index()); cmp = Long.compare(priority(settingsO2), priority(settingsO1)); if (cmp == 0) { cmp = Long.compare(timeCreated(settingsO2), timeCreated(settingsO1)); if (cmp == 0) { cmp = o2Index.compareTo(o1Index); } } } return cmp; }
final PriorityComparator secondaryComparator = PriorityComparator.getAllocationComparator(allocation); final Comparator<ShardRouting> comparator = new Comparator<ShardRouting>() { @Override