`DatabaseConfiguration::maxZoneFailuresTolerated` should account for redundancy mode when computing availability
- Dominant language
- C++
- Stars
- 16.7k
- Forks
- 1.6k
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 126
Description
If a cluster is running in `three_data_hall` mode, on three data halls, there is a case where losing a single zone will cause unavailability due to stuck recovery, even though in status, we see:
```
$ fdbcli --exec 'status json' | jq .cluster.fault_tolerance.max_zone_failures_without_losing_availability
2
```
The redundancy mode should be used in the availability calculation, to avoid confusing status output.
Contributor guide
Research direction
Start by tracing DatabaseConfiguration::maxZoneFailuresTolerated and the status JSON fault-tolerance calculation. Reproduce or inspect the three_data_hall case with three data halls and compare the reported value with the stuck-recovery availability behavior. Done means status no longer reports availability that conflicts with the redundancy mode.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- databases, distributed-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100