DataDistribution: Ensure each server has at least one team
- Dominant language
- C++
- Stars
- 16.7k
- Forks
- 1.6k
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 126
Description
If a server is not associated with a team, the server will not host any data.
When new machines and servers are added to a cluster, we want to make sure data can be moved to the newly added servers so that the average disk utilization per server will be reduced.
However, the current implementation does not enforce that each server is *always* associated to at least one team.
To find the cases when a server has zero team, we can add the sanity check in `getTeamCollectionValid()`.
Challenge: How to achieve this without causing too much data movement?
Contributor guide
Research direction
Start by inspecting getTeamCollectionValid() and trace how it identifies servers with zero teams. Study the surrounding data-distribution behavior before deciding how to enforce the invariant. Done means every server is associated with at least one team without causing excessive data movement.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- databases, distributed-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100