FDB needs a way exclude certain role
- 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
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