-
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
Moving get snapshot requests to listener based async calls #8377
Moving get snapshot requests to listener based async calls #8377
Conversation
Signed-off-by: INDRAJIT BANERJEE <[email protected]>
Gradle Check (Jenkins) Run Completed with:
|
Codecov Report
@@ Coverage Diff @@
## main #8377 +/- ##
============================================
- Coverage 71.06% 70.99% -0.08%
+ Complexity 57314 57288 -26
============================================
Files 4766 4765 -1
Lines 270453 270485 +32
Branches 39555 39555
============================================
- Hits 192197 192028 -169
- Misses 62045 62309 +264
+ Partials 16211 16148 -63
|
Porting the comment from old PR here
@indrajohn7 This is because SNAPSHOT threadpool can scale up to only 5 threads
where as GENERIC threadpool can scale upto 512 depending on no. of cores.
|
server/src/test/java/org/opensearch/snapshots/SnapshotResiliencyTests.java
Show resolved
Hide resolved
Signed-off-by: INDRAJIT BANERJEE <[email protected]>
server/src/test/java/org/opensearch/snapshots/SnapshotResiliencyTests.java
Show resolved
Hide resolved
Signed-off-by: Indrajit Banerjee <[email protected]>
Signed-off-by: Indrajit Banerjee <[email protected]>
Compatibility status:
|
Gradle Check (Jenkins) Run Completed with:
|
server/src/test/java/org/opensearch/snapshots/SnapshotResiliencyTests.java
Outdated
Show resolved
Hide resolved
server/src/test/java/org/opensearch/snapshots/SnapshotResiliencyTests.java
Outdated
Show resolved
Hide resolved
server/src/test/java/org/opensearch/snapshots/SnapshotResiliencyTests.java
Outdated
Show resolved
Hide resolved
Signed-off-by: Indrajit Banerjee <[email protected]>
Compatibility status:
|
Gradle Check (Jenkins) Run Completed with:
|
server/src/test/java/org/opensearch/snapshots/SnapshotResiliencyTests.java
Show resolved
Hide resolved
Signed-off-by: Indrajit Banerjee <[email protected]>
Compatibility status:
|
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-8377-to-2.x
# Cherry-pick the merged commit of this pull request and resolve the conflicts
git cherry-pick -x --mainline 1 2de1c24e8947e15d6faebd448517e9d524a1b788
# Push it to GitHub
git push --set-upstream origin backport/backport-8377-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 |
…h-project#8377) * Moving get snapshot requests to listener based async calls --------- Signed-off-by: INDRAJIT BANERJEE <[email protected]> Signed-off-by: Indrajit Banerjee <[email protected]> Signed-off-by: Kaushal Kumar <[email protected]>
…h-project#8377) * Moving get snapshot requests to listener based async calls --------- Signed-off-by: INDRAJIT BANERJEE <[email protected]> Signed-off-by: Indrajit Banerjee <[email protected]> Signed-off-by: Ivan Brusic <[email protected]>
…h-project#8377) * Moving get snapshot requests to listener based async calls --------- Signed-off-by: INDRAJIT BANERJEE <[email protected]> Signed-off-by: Indrajit Banerjee <[email protected]> Signed-off-by: Shivansh Arora <[email protected]>
Description
This PR is to discuss the optimisation changes for listener based get_snapshot calls handled through async based model.
The TransportGetSnapshotAction shouldn't block wait on the
repositoriesService.getRepositoryData and move to async processing
Due to this, pending tasks were stuck for hours on master.
Reproduction:
With Fix:
Use of
SNAPSHOT
ThreadpoolSNAPSHOT
threadpool in stead ofGENERIC
threadpool for the get_snapshot calls.Observations:
*get_snapshot response:
SNAPSHOT
threadpools are lesser compared to the generic one.SNAPSHOT
threadpool would not be recommended here as it may block the create snapshot calls as well if its shared across get_snapshot requests.Related Issues
Resolves #1788
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.