[SERVER-70656] Balancer should prioritize draining shards Created: 18/Oct/22 Updated: 26/Oct/23 |
|
| Status: | Open |
| Project: | Core Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Task | Priority: | Major - P3 |
| Reporter: | Allison Easton | Assignee: | Backlog - Catalog and Routing |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | oldshardingemea, shardingemea-qw | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||
| Assigned Teams: |
Catalog and Routing
|
||||
| Sprint: | Sharding EMEA 2022-11-14 | ||||
| Participants: | |||||
| Story Points: | 3 | ||||
| Description |
|
The balancer randomly chooses collections to balance each round. Within these collections, we prioritize draining shards, but if the balancer chooses collections that are not present on the draining shard, the balancer will move chunks between other shards rather than drain those that are trying to be removed. This problem is exacerbated if the user is trying to remove more than half of their shards. A user signaled that the draining of empty chunks was slowed down by the balancer moving chunks between the 2 non-draining shards. This prevented any chunks being drained from the shards being dropped during that round because the only two receiving shards were already involved in a migration. |
| Comments |
| Comment by Garaudy Etienne [ 27/Jan/23 ] |