-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
Establish seed node connections in async during node bootstrap #8038
Establish seed node connections in async during node bootstrap #8038
Conversation
Gradle Check (Jenkins) Run Completed with:
|
628efa9
to
60f96b9
Compare
Gradle Check (Jenkins) Run Completed with:
|
Signed-off-by: Ankit Kala <[email protected]>
60f96b9
to
91fe701
Compare
Gradle Check (Jenkins) Run Completed with:
|
Gradle Check (Jenkins) Run Completed with:
|
Signed-off-by: Ankit Kala <[email protected]>
adc95ad
to
5ef6976
Compare
Gradle Check (Jenkins) Run Completed with:
|
Codecov Report
@@ Coverage Diff @@
## main #8038 +/- ##
============================================
- Coverage 70.92% 70.83% -0.10%
+ Complexity 56636 56575 -61
============================================
Files 4721 4721
Lines 267514 267470 -44
Branches 39212 39210 -2
============================================
- Hits 189745 189454 -291
- Misses 61770 62016 +246
- Partials 15999 16000 +1
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So one consequence of this could be that node is up while remote connection establishment is still in progress in which case any outbound cross-cluster requests could fail with "no such remote" right?
Could this also impact CCR?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The one common problem with async connection handling is the race around connection and disconnection. See #4874. Want to ensure we don't run into a similar issue going forward
@ankitkala can you please highlight the implication of moving the remote connection to async. As i understand today also there is no guarantee that connection would be established in sync in 10secs. What happens in case a CCR/ CCS request comes. What is the error thrown? |
This should not impact any of the cross cluster calls. For each such call, Remote cluster client invokes a blocking call to |
Thanks. I took a cursory look at the issue above. |
server/src/main/java/org/opensearch/transport/RemoteClusterService.java
Outdated
Show resolved
Hide resolved
Signed-off-by: Ankit Kala <[email protected]>
Gradle Check (Jenkins) Run Completed with:
|
Signed-off-by: Ankit Kala <[email protected]>
Gradle Check (Jenkins) Run Completed with:
|
The backport to
To backport manually, run these commands in your terminal: # Fetch latest updates from GitHub
git fetch
# Create a new working tree
git worktree add ../.worktrees/backport-2.x 2.x
# Navigate to the new working tree
pushd ../.worktrees/backport-2.x
# Create a new branch
git switch --create backport/backport-8038-to-2.x
# Cherry-pick the merged commit of this pull request and resolve the conflicts
git cherry-pick -x --mainline 1 cb4361c00107e113c82f87103307c3626583e940
# Push it to GitHub
git push --set-upstream origin backport/backport-8038-to-2.x
# Go back to the original working tree
popd
# Delete the working tree
git worktree remove ../.worktrees/backport-2.x Then, create a pull request where the |
…earch-project#8038) * Establish seed node connection setup in async Signed-off-by: Ankit Kala <[email protected]>
#8077) * Establish seed node connection setup in async Signed-off-by: Ankit Kala <[email protected]>
…earch-project#8038) (opensearch-project#8077) * Establish seed node connection setup in async Signed-off-by: Ankit Kala <[email protected]>
…earch-project#8038) * Establish seed node connection setup in async Signed-off-by: Ankit Kala <[email protected]> Signed-off-by: Rishab Nahata <[email protected]>
…earch-project#8038) * Establish seed node connection setup in async Signed-off-by: Ankit Kala <[email protected]> Signed-off-by: Shivansh Arora <[email protected]>
Description
Establish seed node connections in async during node bootstrap
Related Issues
Resolves #7950
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.