feat: reduce request buffer & timeout values in sequential mode, reverse candidates for slow peers #7949
+126
−44
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.
Following my comment here : #7899 (comment), and related to #7454.
I suggest these changes to improve behavior for streaming use cases:
25s. This might prevent streaming where we want blocks to arrive in order, as fast as possible.To minimizes these issues, I suggest:
3sin sequential mode, and reduce request buffer window to target1s.1 block/second. This way, they will not slow down urgent block requests preventing streaming, while still being helpful (if they do not timeout).We could introduce a hotswap algorithm (see #7820), but I'm concerned about the added complexity and the amount of cancellations and lost bandwidth. Let me know what you think.
Edit: I need to fix tests