apple / apple/foundationdb

Sanity check fdbcli configure command before execute it

Open
#2,092 1 comment 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

When `fdbcli configure` changes a cluster's configuration, it does not check if such change may potential leave the cluster in a bad state or if the change can even succeed.

Example 1: Issue #2068 shows data may potentially be missing (not necessarily lost).
Example 2: Changing storage server type without having idle storage processes (i.e., storage processes with no storage engine running on it) can cause out of memory error on all storage processes and crash a cluster.

It will be nice if the `configure` command can do some sanity checking before execute it. This can also help prevent operation mistakes from becoming problems or disasters.

Contributor guide

Open the contributing guide

Research direction

Start at the fdbcli configure command and review how it applies cluster configuration changes. Use issue #2068 and the storage-server-type change without idle storage processes as cases for defining checks. Done means unsafe or impossible changes are detected before execution.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
cli, 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.