apple / apple/foundationdb

Add finer grained controls of data distribution

Open
#1,508 7 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.