mirror of
https://github.com/apache/druid.git
synced 2025-02-21 09:46:21 +00:00
Segment assignments can take very long due to the strategy cost computation for a large number of segments. This commit allows segment assignments to be done in a round-robin fashion within a tier. Only segment balancing takes cost-based decisions to move segments around. Changes - Add dynamic config `useRoundRobinSegmentAssignment` with default value false - Add `RoundRobinServerSelector`. This does not implement the `BalancerStrategy` as it does not conform to that contract and may also be used in conjunction with a strategy (round-robin for `RunRules` and a cost strategy for `BalanceSegments`) - Drops are still cost-based even when round-robin assignment is enabled.