-
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] Handoff refreshes, translog uploads during relocation from old to new primary #11330
[Remote Store] Handoff refreshes, translog uploads during relocation from old to new primary #11330
Conversation
a26708b
to
1fca1a7
Compare
❌ Gradle check result for a26708b: 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 ea629f4 Incompatible componentsSkipped componentsCompatible componentsCompatible components: [https://github.com/opensearch-project/security-analytics.git, https://github.com/opensearch-project/security.git, https://github.com/opensearch-project/observability.git, https://github.com/opensearch-project/job-scheduler.git, https://github.com/opensearch-project/opensearch-oci-object-storage.git, https://github.com/opensearch-project/custom-codecs.git, https://github.com/opensearch-project/ml-commons.git, https://github.com/opensearch-project/sql.git, https://github.com/opensearch-project/asynchronous-search.git, https://github.com/opensearch-project/notifications.git, https://github.com/opensearch-project/reporting.git, https://github.com/opensearch-project/index-management.git, https://github.com/opensearch-project/cross-cluster-replication.git, https://github.com/opensearch-project/common-utils.git, https://github.com/opensearch-project/neural-search.git, https://github.com/opensearch-project/geospatial.git, https://github.com/opensearch-project/anomaly-detection.git, https://github.com/opensearch-project/k-nn.git, https://github.com/opensearch-project/performance-analyzer-rca.git, https://github.com/opensearch-project/alerting.git, https://github.com/opensearch-project/performance-analyzer.git] |
Codecov ReportAttention:
Additional details and impacted files@@ Coverage Diff @@
## main #11330 +/- ##
============================================
- Coverage 71.37% 71.29% -0.08%
- Complexity 58964 58983 +19
============================================
Files 4890 4890
Lines 277468 277501 +33
Branches 40313 40323 +10
============================================
- Hits 198029 197853 -176
- Misses 62945 63239 +294
+ Partials 16494 16409 -85 ☔ View full report in Codecov by Sentry. |
Need to validate that we are able to not reproduce the issue mentioned in #10839 |
827d0f0
to
c2c8e4d
Compare
❌ Gradle check result for 827d0f0: 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? |
❌ Gradle check result for c2c8e4d: 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? |
c2c8e4d
to
d9e39bc
Compare
❌ Gradle check result for d9e39bc: 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? |
server/src/main/java/org/opensearch/index/translog/TranslogManager.java
Outdated
Show resolved
Hide resolved
server/src/main/java/org/opensearch/index/translog/Translog.java
Outdated
Show resolved
Hide resolved
❌ Gradle check result for f7375fb: 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? |
server/src/main/java/org/opensearch/index/shard/CloseableRetryableRefreshListener.java
Outdated
Show resolved
Hide resolved
❌ Gradle check result for 25bc81b: 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? |
25bc81b
to
bdb92d4
Compare
server/src/main/java/org/opensearch/index/shard/CloseableRetryableRefreshListener.java
Outdated
Show resolved
Hide resolved
server/src/main/java/org/opensearch/index/translog/RemoteFsTranslog.java
Outdated
Show resolved
Hide resolved
❌ Gradle check result for bdb92d4: 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? |
server/src/main/java/org/opensearch/index/translog/RemoteFsTranslog.java
Outdated
Show resolved
Hide resolved
server/src/main/java/org/opensearch/index/shard/IndexShard.java
Outdated
Show resolved
Hide resolved
server/src/main/java/org/opensearch/index/shard/IndexShard.java
Outdated
Show resolved
Hide resolved
server/src/main/java/org/opensearch/index/shard/IndexShard.java
Outdated
Show resolved
Hide resolved
Signed-off-by: Ashish Singh <[email protected]>
Signed-off-by: Ashish Singh <[email protected]>
Signed-off-by: Ashish Singh <[email protected]>
Signed-off-by: Ashish Singh <[email protected]>
Signed-off-by: Ashish Singh <[email protected]>
…n step Signed-off-by: Ashish Singh <[email protected]>
Signed-off-by: Ashish Singh <[email protected]>
Signed-off-by: Ashish Singh <[email protected]>
be750ea
to
a27e030
Compare
Did a rebase with main as there were conflicts preventing merge. |
Signed-off-by: Ashish Singh <[email protected]>
❕ Gradle check result for ea629f4: UNSTABLE
Please review all flaky tests that succeeded after retry and create an issue if one does not already exist to track the flaky failure. |
Flaky test - #10558 |
server/src/main/java/org/opensearch/index/translog/RemoteFsTranslog.java
Show resolved
Hide resolved
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-11330-to-2.x
# Cherry-pick the merged commit of this pull request and resolve the conflicts
git cherry-pick -x --mainline 1 ed1c8b7f53176d1669b8c9189c9c0835a9f17fab
# Push it to GitHub
git push --set-upstream origin backport/backport-11330-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 |
Raising manual backport since the automated one failed. |
…from old to new primary (opensearch-project#11330) --------- Signed-off-by: Ashish Singh <[email protected]>
…from old to new primary (#11330) (#11361) --------- Signed-off-by: Ashish Singh <[email protected]>
…from old to new primary (opensearch-project#11330) --------- Signed-off-by: Ashish Singh <[email protected]>
…from old to new primary (opensearch-project#11330) --------- Signed-off-by: Ashish Singh <[email protected]>
…from old to new primary (opensearch-project#11330) --------- Signed-off-by: Ashish Singh <[email protected]>
…from old to new primary (opensearch-project#11330) --------- Signed-off-by: Ashish Singh <[email protected]> Signed-off-by: Shivansh Arora <[email protected]>
Description
This PR fixes an edge case during primary relocation that can lead to both existing primary and new primary uploading segments/translog metadata having same combination of primary term, segment info generation, translog generation under following scenarios.
Situations -
This can lead to following impact:
situation no. 1 -
The above can be mitigated by flushing multiple times if the index is not red. This can still be fixed by deleting the metadata file uploaded by old primary.
situation no. 2 -
The above issue can go away if the indexing continues for some more time.
Related Issues
Resolves #11320, #11322, #11323
Check List
Commit changes are listed out in CHANGELOG.md file (See: Changelog)Public documentation issue/PR createdBy 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.