Add finer grained controls of data distribution
- Dominant language
- C++
- Stars
- 16.7k
- Forks
- 1.6k
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 126
Description
There exists a command in fdbcli to disable data distribution, and it disables all data movement. Often this isn't quite what we want, though. For example, doing this prevents the cluster from managing hot write shards, leading to a saturated cluster.
Instead, we should have the ability to control at least the following types of data movement independently:
Failures
Splitting/merging
Rebalancing
There may also be some value in being able to allow movement that heals replication factor but not movement that deals with unhealthy states that have full replication.
Contributor guide
Research direction
Start by locating the fdbcli command that currently disables all data distribution and trace how it reaches the distribution controls. Review the requested movement categories—failures, splitting/merging, rebalancing, and replication healing—and clarify the intended independent behavior before implementation. Done means each supported category can be controlled without unnecessarily blocking the others.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- cli, databases, distributed-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100