Skip to content

Beacon sync reorg headers download processing #3359

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

Merged
merged 5 commits into from
Jun 2, 2025

Conversation

mjfh
Copy link
Contributor

@mjfh mjfh commented Jun 2, 2025

No description provided.

mjfh added 5 commits June 2, 2025 10:29
why
  With slow peer management, the last remaining sync peer is never
  zombified if it is *slow* but delivers some data.

  This was implemented for the blocks download only, now extended
  to headers download.
why
  Headers download and stashing on header chain cache is now updated
  after how it is done for blocks (which was originally re-modelled
  somehow after the headers download in PR #3306.)

  Apart from a code cleanup, the main change is that each queued
  record will now hold only a single sync peer response (previously
  this was a list of several concatenated responses.)
why
  This restriction is a legacy construct which was used for
  + allowing to run on a single peer for testing
  + implicitly restrict the header and block queues when the size
    was restricted by a high-water-mark rather than a strict upper
    bound.
why
  This reduces some some need for in-memory cache space.

  When downloading 22.6m headers from `mainnet` with download request
  size 1024 one can make it in just under a hour on a well exposed
  site (so that enough peers are available.)

  Reducing the request size to 800 one gets just some minutes over an
  hour.
@mjfh mjfh merged commit af07a53 into master Jun 2, 2025
5 checks passed
@mjfh mjfh deleted the Beacon-sync-reorg-headers-download-processing branch June 2, 2025 12:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant