pickMovableSegmentsFrom
public static List<BalancerSegmentHolder> pickMovableSegmentsFrom(List<ServerHolder> serverHolders,
int maxSegmentsToPick,
Function<ServerHolder,Collection<org.apache.druid.timeline.DataSegment>> segmentProvider,
Set<String> broadcastDatasources)
Picks segments from the given set of servers that can be moved to other
servers for balancing.
- Parameters:
serverHolders - Set of historicals to consider for picking segments
maxSegmentsToPick - Maximum number of segments to pick
segmentProvider - Function to extract all movable segments from a
ServerHolder.
broadcastDatasources - Segments belonging to these datasources will not
be picked for balancing, since they should be
loaded on all servers anyway.
- Returns:
- Iterator over
BalancerSegmentHolders, each of which contains
a segment picked for moving and the server from which it was picked.