More Efficient Ordering of Shard Upload Execution (#42791)#46588
Merged
original-brownbear merged 2 commits intoelastic:7.xfrom Sep 11, 2019
original-brownbear:42791-7.x
Merged
More Efficient Ordering of Shard Upload Execution (#42791)#46588original-brownbear merged 2 commits intoelastic:7.xfrom original-brownbear:42791-7.x
original-brownbear merged 2 commits intoelastic:7.xfrom
original-brownbear:42791-7.x
Conversation
* Change the upload order of of snapshots to work file by file in parallel on the snapshot pool instead of merely shard-by-shard * Inspired by #39657
Aborts and failures were handled in a somewhat unfortunate way in #42791: Since the tasks for all files are generated before uploading they are all executed when a snapshot is aborted and lead to a massive number of failures added to the original aborted exception. In the case of failures the situation was not very reasonable as well. If one blob fails uploading the snapshot logic would upload all the remaining files as well and then fail (when previously it would just fail all following files). I fixed both of the above issues, by just short-circuiting all remaining tasks for a shard in case of an exception in any one upload.
Collaborator
|
Pinging @elastic/es-distributed |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Inspired by #39657 and resolving the issue raised in that PR:
The problem currently is that we are uploading all segments in a shard sequentially per shard and only parallelize snapshotting across shards but not within shards.
This PR adjusts the logic towards parallel segment uploads:
Backport of #42791 and #46208