OpenSearch
OpenSearch copied to clipboard
WIP: NoOp replication for NRT replication with translog persisting in remote store
Signed-off-by: Ashish Singh [email protected]
Description
[Describe what this change achieves]
Issues Resolved
[List any issues this PR will resolve]
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.
Gradle Check (Jenkins) Run Completed with:
- RESULT: FAILURE :x:
- URL: https://build.ci.opensearch.org/job/gradle-check/1202/
- CommitID: 21554f3ecdd7f8784714dc05a47f8010ca2a6f8a
Gradle Check (Jenkins) Run Completed with:
- RESULT: FAILURE :x:
- URL: https://build.ci.opensearch.org/job/gradle-check/1205/
- CommitID: 4d14d9e9e777dcca4d21df3093e89f5e86bf3ee4
Gradle Check (Jenkins) Run Completed with:
- RESULT: null :x:
- URL: https://build.ci.opensearch.org/job/gradle-check/1206/
- CommitID: 8dbd78a18883ba21b52f35e238bb4ab0dd89a050
Gradle Check (Jenkins) Run Completed with:
- RESULT: FAILURE :x:
- URL: https://build.ci.opensearch.org/job/gradle-check/1241/
- CommitID: b0187ace86eced20a4869697b037ced30b9f1f42
Gradle Check (Jenkins) Run Completed with:
- RESULT: FAILURE :x:
- URL: https://build.ci.opensearch.org/job/gradle-check/1251/
- CommitID: 0990762b42a4d26a900e5f23915c61d70c55c79c
Gradle Check (Jenkins) Run Completed with:
- RESULT: FAILURE :x:
- URL: https://build.ci.opensearch.org/job/gradle-check/1287/
- CommitID: 0990762b42a4d26a900e5f23915c61d70c55c79c
Gradle Check (Jenkins) Run Completed with:
- RESULT: FAILURE :x:
- URL: https://build.ci.opensearch.org/job/gradle-check/1286/
- CommitID: ada13bcd51884d85f1424a993a2f1272b23d9cf7
Gradle Check (Jenkins) Run Completed with:
- RESULT: FAILURE :x:
- URL: https://build.ci.opensearch.org/job/gradle-check/1288/
- CommitID: 008d3275876c60513c392e02d27b54cdcab4efc3
Gradle Check (Jenkins) Run Completed with:
- RESULT: FAILURE :x:
- URL: https://build.ci.opensearch.org/job/gradle-check/1296/
- CommitID: c080d020bddc7032cbe86fc9b6c18ac589bd0784
Gradle Check (Jenkins) Run Completed with:
- RESULT: FAILURE :x:
- URL: https://build.ci.opensearch.org/job/gradle-check/1297/
- CommitID: 3c7f9346b8e639154e5fafe437276ae18cd60418
Gradle Check (Jenkins) Run Completed with:
- RESULT: FAILURE :x:
- URL: https://build.ci.opensearch.org/job/gradle-check/1436/
- CommitID: c6bd66a461c9f6e5bab3d6322d4c069e9ec99182
Results so far -
- No op replication in isolation works fine. What this means is that every call - we check with the insync allocation ids that the primary term is not stale.
- Unable to test primary failover as translog currently is absent on the replicas. Some cases of failovers do work when there are no translogs and everything has been flushed.
- Also testing the behavior of stopping insync replicas and then restarting them. Here recovery fails whenever there is translog in primary which needs to replayed as part of recovery.
Next steps -
- Understanding the recovery code and will tweak it to accommodate remote store enabled use cases where translogs really don't need to be replayed.