apple / apple/foundationdb

New safety checks on exclusions that could take a database unavailable

Open
#1,292 3 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

When we're running in a multi-DC configuration, it's possible to run an exclusion that can take the database unavailable. For instance, if a database is configured to run satellite logs, but we exclude all of the satellite processes, the database would go unavailable. Should we add a safety check in the exclusion to prevent this kind of mistake?

On a related note, it's possible that an exclusion could put the database into a configuration that is viable but undesirable. For instance, if a database is configured to run 5 proxies, but we exclude all of the stateless class processes but 1, the database will go down to 1 proxy, and it will put that proxy on that single process along with all of the other stateless roles. Should we add safety checks for this kind of thing as well?

Contributor guide

Open the contributing guide

Research direction

The issue names no files, tests, or entry points. Start by locating the exclusion handling and the multi-DC database availability logic, then determine which excluded configurations must be rejected and which merely need warnings. Done means the safety policy is agreed and covered by implementation tests for both unavailable and undesirable configurations.

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
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.