apple / apple/foundationdb

fdbdr should restore lost replicas with data from the primary

Open
#1,043 0 comments 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

It is often desirable to have a DR with a lower replication factor than the primary. In this configuration, we would like for the DR to automatically heal using data from the primary in the event that all storage servers with a range of keys die simultaneously.

Proposed design:
* Mark the DR status as incomplete
* Replace the dead ranges with empty ranges on different storage servers
* Add DR tasks to copy the data for the dead ranges from the primary
* Let the DR complete as normal

Contributor guide

Open the contributing guide

Research direction

Start by tracing the fdbdr disaster-recovery workflow and how it handles ranges that are unavailable on the primary. Compare that flow with the proposed incomplete status, replacement empty ranges, and data-copy tasks. Done means a DR with a lower replication factor can restore ranges from the primary and complete normally after simultaneous storage-server loss.

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
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.