apple / apple/foundationdb

request for a new fdbcli command 'exclude disk'

Open
#6,744 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
16.7k
Forks
1.6k
Avg merge
1d 20h
Merged PRs (30d)
126

Description

Currently, we have a command to exclude process/processes in an instance. To exclude the process(es), data-movement needs to create an additional copy of the data that is being excluded. To achieve that, data-movement reads the data from the process(es) being excluded too. This mechanism works fine in most situations, but in case the excluded process(es) have degraded disk then reads to the degraded disk will slow-down the data-movement and potentially slow down other foreground reads too.

'exclude failed' solves the problem of preventing reads reaching the degraded process/disk, but it will mark the entire process as failed, but this reduces the redundancy level immediately - so it is not a preferred choice.

'exclude disk' should essentially help with this degraded disk situation. Running the command should treat the excluded process as stateless and avoid using its on-disk state. In case the degraded disk gets healthy again, there will be an option to re-included it back.

Contributor guide

Open the contributing guide

Research direction

Start at the fdbcli command entry point and trace the existing exclude and exclude failed paths into data-movement. Done means an exclude disk command avoids reads from a degraded process's on-disk state while preserving redundancy, with a way to include it again when the disk is healthy.

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
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.