apple / apple/foundationdb

DataDistribution: Ensure each server has at least one team

Open
#1,765 2 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

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

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.