-
Notifications
You must be signed in to change notification settings - Fork 1.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Remote Store - Dual Replication] Create missing Retention Leases for docrep shard copies during failover #13159
[Remote Store - Dual Replication] Create missing Retention Leases for docrep shard copies during failover #13159
Conversation
…nvariant assertions up until the leases are created Signed-off-by: Shourya Dutta Biswas <114977491+shourya035@users.noreply.github.com>
Signed-off-by: Shourya Dutta Biswas <114977491+shourya035@users.noreply.github.com>
❌ Gradle check result for 7682c69: FAILURE 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? |
Compatibility status:Checks if related components are compatible with change b3ab4fa Incompatible componentsSkipped componentsCompatible componentsCompatible components: [https://github.com/opensearch-project/custom-codecs.git, https://github.com/opensearch-project/geospatial.git, https://github.com/opensearch-project/observability.git, https://github.com/opensearch-project/flow-framework.git, https://github.com/opensearch-project/cross-cluster-replication.git, https://github.com/opensearch-project/job-scheduler.git, https://github.com/opensearch-project/opensearch-oci-object-storage.git, https://github.com/opensearch-project/ml-commons.git, https://github.com/opensearch-project/k-nn.git, https://github.com/opensearch-project/neural-search.git, https://github.com/opensearch-project/asynchronous-search.git, https://github.com/opensearch-project/security-analytics.git, https://github.com/opensearch-project/reporting.git, https://github.com/opensearch-project/sql.git, https://github.com/opensearch-project/notifications.git, https://github.com/opensearch-project/common-utils.git, https://github.com/opensearch-project/anomaly-detection.git, https://github.com/opensearch-project/index-management.git, https://github.com/opensearch-project/alerting.git, https://github.com/opensearch-project/performance-analyzer-rca.git, https://github.com/opensearch-project/security.git, https://github.com/opensearch-project/performance-analyzer.git] |
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #13159 +/- ##
============================================
+ Coverage 71.42% 71.52% +0.10%
- Complexity 59978 60697 +719
============================================
Files 4985 5039 +54
Lines 282275 285346 +3071
Branches 40946 41329 +383
============================================
+ Hits 201603 204102 +2499
- Misses 63999 64385 +386
- Partials 16673 16859 +186 ☔ View full report in Codecov by Sentry. |
❌ Gradle check result for 29e8d3a: FAILURE 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? |
The backport to
To backport manually, run these commands in your terminal: # Navigate to the root of your repository
cd $(git rev-parse --show-toplevel)
# Fetch latest updates from GitHub
git fetch
# Create a new working tree
git worktree add ../.worktrees/OpenSearch/backport-2.x 2.x
# Navigate to the new working tree
pushd ../.worktrees/OpenSearch/backport-2.x
# Create a new branch
git switch --create backport/backport-13159-to-2.x
# Cherry-pick the merged commit of this pull request and resolve the conflicts
git cherry-pick -x --mainline 1 3c8eafdb7d59647b169e8dd9e5b00e64b82a01e6
# Push it to GitHub
git push --set-upstream origin backport/backport-13159-to-2.x
# Go back to the original working tree
popd
# Delete the working tree
git worktree remove ../.worktrees/OpenSearch/backport-2.x Then, create a pull request where the |
@shourya035 : pls backport this. |
… docrep shard copies during failover (opensearch-project#13159) Signed-off-by: Shourya Dutta Biswas <114977491+shourya035@users.noreply.github.com> (cherry picked from commit 3c8eafd)
… docrep shard copies during failover (opensearch-project#13159) Signed-off-by: Shourya Dutta Biswas <114977491+shourya035@users.noreply.github.com> (cherry picked from commit 3c8eafd)
… docrep shard copies during failover (opensearch-project#13159) Signed-off-by: Shourya Dutta Biswas <114977491+shourya035@users.noreply.github.com> (cherry picked from commit 3c8eafd)
Description
Recreate Retention Leases after activating primary mode for docrep shard copies. This is useful in dual replication cases where a remote primary fails over to another remote replica, but the replication group still has a docrep replica in it.
We are utilizing the already available
createMissingPeerRecoveryRetentionLeases
by adding a check to see if the current replication group has at-least one docrep copy. If a retention lease already exists, the method is a NoOp, if it doesn't creates a new one from the current visible global ckp.Added integ tests around this scenario also
Related Issues
Resolves #13158
Check List
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.