Cleans up the NoPeer error handling in range sync's send_batch#8919
Draft
jimmygchen wants to merge 4 commits into
Draft
Cleans up the NoPeer error handling in range sync's send_batch#8919jimmygchen wants to merge 4 commits into
NoPeer error handling in range sync's send_batch#8919jimmygchen wants to merge 4 commits into
Conversation
NoPeer error handling in range sync's send_batch
jimmygchen
commented
Mar 2, 2026
| let mut prune_requests = tokio::time::interval(Duration::from_secs(15)); | ||
|
|
||
| // Periodically retry AwaitingDownload batches and check for stalled chains, as a safety | ||
| // net in case UpdatedPeerCgc events are missed. |
Member
Author
There was a problem hiding this comment.
what does this have to do with UpdatedPeerCgc?
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.
Description
Split out from #8039. Cleans up the
NoPeerhandling in range sync'ssend_batchso it no longer fake-starts a download and callsdownload_failed— which incorrectly penalised the batch for something that wasn't a real download failure.NoPeernow logs at debug and leaves the batch inAwaitingDownload, letting it retry when peers become available.Since
AwaitingDownloadis now a valid steady-state for batches, this PR also:AwaitingDownloadbatches in the buffer size check across range sync, backfill sync, and custody backfill sync, so they don't accumulate unbounded.AwaitingDownloadfor over 10 minutes, the chain is failed and will be recreated when peers re-announce via STATUS.UpdatedPeerCgcevents are missed.