Configuring a list of approved servers as an alternative to the exclusion list
- Dominant language
- C++
- Stars
- 16.7k
- Forks
- 1.6k
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 126
Description
Currently FoundationDB allows any process that can connect to the database to take on roles, unless it is specifically prevented from taking on roles through the exclusion process. There may be configurations where this is suboptimal. For instance, if we have a process that is partitioned from the rest of the cluster, and we want to replace it, we may not be able to shut down or clean up the process until the partition is resolved. We can exclude the partitioned process as part of the replacement, but that leaves an exclusion entry that we will have to clean up down the road. It might be cleaner for us to define a inclusion list and add new entries when we add new instances, and remove them when we want to remove a process. Is this something we can explore?
Contributor guide
Research direction
No files or tests are named. Start by reading the existing exclusion process and how processes take on roles, then define the semantics and lifecycle of an approved-server list. The design should cover adding instances, removing processes, and replacing a partitioned process without leaving stale exclusion entries.
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
- Needs clarification
- Newbie friendliness
- 25/100