Skip to content

[POC] Full cluster Replication using Segment Replication and Remote Store#102

Open
ankitkala wants to merge 2 commits intofcr-poc-publish-basefrom
fcr-poc-publish
Open

[POC] Full cluster Replication using Segment Replication and Remote Store#102
ankitkala wants to merge 2 commits intofcr-poc-publish-basefrom
fcr-poc-publish

Conversation

@ankitkala
Copy link
Copy Markdown
Owner

@ankitkala ankitkala commented Apr 17, 2023

Description

Full cluster Replication using Segment Replication and Remote Store

Issues Resolved

opensearch-project#7222

Check List

  • New functionality includes testing.
    • All tests pass
  • New functionality has been documented.
    • New functionality has javadoc added
  • Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Signed-off-by: Ankit Kala <ankikala@amazon.com>
@github-actions
Copy link
Copy Markdown

Gradle Check (Jenkins) Run Completed with:

  • RESULT: null ❌
  • URL:
  • CommitID: a4182e1
    Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green.
    Is the failure a flaky test unrelated to your change?

@github-actions
Copy link
Copy Markdown

Gradle Check (Jenkins) Run Completed with:

  • RESULT: null ❌
  • URL:
  • CommitID: 42d6136
    Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green.
    Is the failure a flaky test unrelated to your change?

@abargnesi
Copy link
Copy Markdown

abargnesi commented Mar 23, 2026

Hi @ankitkala. I stumbled on your work here after researching alternatives to the opensearch cross cluster replication. The cross-cluster-replication plugin establishes a follower index that replays translog changes from the leader index that are incompatible with the index lineage (i.e., both indices on generate 5 may not be equivalent). The segrep approach you present here would use same index lineage (same commit points and segment file set) which theoretically means failover and failback operations would not require full replication unless the follower has a newer generation.

If follower does have a newer generation than leader, it can do full replication sync into a new index, then do an index alias switch once it's consistent. That way the stale follower index could still be readable during full sync.

Do you know if this work is ongoing?

I see RFCs in core opensearch here:

Also in cross-cluster-replication:

But there have not been any progress in a while. Maybe opensearch has moved on to an alternative strategies?

Thanks in advance!

@ankitkala
Copy link
Copy Markdown
Owner Author

Hi @abargnesi , your assessment is correct. right now there isn't anyone actively working on it. Feel free to pick up this work if you're interested.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants