Skip to content
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

fix chain download halt #6969

Draft
wants to merge 11 commits into
base: main
Choose a base branch
from
Draft

Conversation

pinges
Copy link
Contributor

@pinges pinges commented Apr 19, 2024

PR description

In some cases a syncing Besu node stopped downloading the chain data. The reason for that was that sometimes peers that were selected to download headers that are needed to allow the parallel download of the next batch of headers only returned one header instead of 200 headers.
There was a mechanism that restarted the pipeline for the chain download, but if the same peer was selected to do that initial download the same would happen again. In some cases that happened for a long time, making it noticeable, but it turned out that this happens for short periods of time as well (still slowing down the chain download process).
This PR adds a check that disconnects the peer only returning one block to make sure that a different peer is selected for the next restart of the pipeline.

Fixed Issue(s)

#6884

Signed-off-by: stefan.pingel@consensys.net <stefan.pingel@consensys.net>
Signed-off-by: stefan.pingel@consensys.net <stefan.pingel@consensys.net>
@garyschulte
Copy link
Contributor

great find. We recently discovered that the geth snap sync pipeline does something very similar.

Signed-off-by: stefan.pingel@consensys.net <stefan.pingel@consensys.net>
…he pivot header

Signed-off-by: stefan.pingel@consensys.net <stefan.pingel@consensys.net>
Signed-off-by: stefan.pingel@consensys.net <stefan.pingel@consensys.net>
… async

Signed-off-by: stefan.pingel@consensys.net <stefan.pingel@consensys.net>
Signed-off-by: stefan.pingel@consensys.net <stefan.pingel@consensys.net>
Signed-off-by: stefan.pingel@consensys.net <stefan.pingel@consensys.net>
Signed-off-by: stefan.pingel@consensys.net <stefan.pingel@consensys.net>
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.

None yet

2 participants