apple / apple/foundationdb

Configuring a list of approved servers as an alternative to the exclusion list

Open
#2,471 0 comments 0 reactions 0 assignees View on GitHub
operations
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

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.