-
Notifications
You must be signed in to change notification settings - Fork 118
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
Stop ignoring some connection errors that could make the peer set hang #3200
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good! I've only suggested two ideas, but they are optional.
This comment has been minimized.
This comment has been minimized.
2363ae0
to
f9d3aad
Compare
f9d3aad
to
e22e224
Compare
35cd196
to
0240fca
Compare
There are a lot of code changes here, so could you take a look as well @oxarbitrage ? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not really familiar with this part of the code but it seems good, I just found a small typo. But I'll defer the approval to @oxarbitrage
Co-authored-by: Conrado Gouvea <conrado@zfnd.org>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it looks good and has a lot of coverage. Could be separated in 2 or 3 PRs but we want to place this changes in main
fast to speed up the sync and i think is ok to do so in this case.
Motivation
When I was testing PR #3167, the peer set would hang during the initial block download. This is a bug is in the
main
branch, but it's triggered more by some PRs (and on some machines).So I fixed some known peer set bugs, and wrote some basic peer set tests.
Solution
Peer Set service disconnection:
UnreadyService
ignores dropped cancel handles #3130Heartbeat task errors:
Client
errors or is droppedClient errors:
Connection errors:
Connection
was errored, closed, or droppedConnection state:
Review
Anyone can review this PR, but @jvff knows about ticket #3130.
This PR is based on PR #3203.
Reviewer Checklist
Follow Up Work
Connection:
Peer set:
Testing:
peer::Connection
tests #3232peer::Connection
tests #3233