apple / apple/foundationdb

FDB needs a way exclude certain role

Open
#1,501 8 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

Today, fdbserver can be either 1. any role or 2. one specific role.
When we want to run the entire cluster on a single machine (e.g. developer's laptop), it is very hard to create many processes of one specific role, because each process requires a good amount of memory. However, if we run the multiple roles in one process, it is extremely hard to properly profile for a certain role.
We need a way to exclude a certain role here. For example:
```
[fdbserver.4500]
class = everything but not storage
[fdbserver.4501]
class = storage
```
This way, we can easily profile only the storage server. This is not only useful for profiling, but also debugging sometime.

Contributor guide

Open the contributing guide

Research direction

Start by tracing how fdbserver reads and applies the configuration class setting. Implement support for excluding one role while retaining the existing any-role and specific-role behavior, then verify that the shown storage-only profiling setup can be represented and used.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
databases, distributed-systems
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.