Class ReservoirSegmentSampler
java.lang.Object
org.apache.druid.server.coordinator.balancer.ReservoirSegmentSampler
-
Method Summary
Modifier and TypeMethodDescriptionstatic List<BalancerSegmentHolder>pickMovableSegmentsFrom(List<ServerHolder> serverHolders, int maxSegmentsToPick, Function<ServerHolder, Collection<DataSegment>> segmentProvider, Set<String> broadcastDatasources) Picks segments from the given set of servers that can be moved to other servers for balancing.
-
Method Details
-
pickMovableSegmentsFrom
public static List<BalancerSegmentHolder> pickMovableSegmentsFrom(List<ServerHolder> serverHolders, int maxSegmentsToPick, Function<ServerHolder, Collection<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 segmentsmaxSegmentsToPick- Maximum number of segments to picksegmentProvider- Function to extract all movable segments from aServerHolder.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.
-