-
Notifications
You must be signed in to change notification settings - Fork 106
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
Re-Apply "Refactor connection.rs
to make fail_with
errors impossible" (double revert)
#1817
Conversation
This reverts commit 78f1627.
This reverts commit 72e2e83.
This reverts commit a5e89f4.
This reverts commit d60226a.
… errored"" This reverts commit 359015b.
This reverts commit 663ed6c.
This reverts commit 3c22555.
This reverts commit 86dc66d.
This reverts commit 292a439.
This reverts commit fc44a97.
This reverts commit e06120c.
This reverts commit 1a70d80.
This reverts commit 3b2077f.
Pending merge conflict fix |
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.
This PR causes multiple errors during message processing, which slows down sync a lot.
We need to work out what's going wrong with the Connection
state machine, and fix it.
I have some ideas for a design that would make this code a lot easier to maintain. @yaahc let's chat when you're ready to work on this?
I also wonder if we should implement the sync/connection tests in #1592 before merging this PR. |
connection.rs
to make fail_with
errors impossible""connection.rs
to make fail_with
errors impossible" (double revert)
connection.rs
to make fail_with
errors impossible" (double revert)connection.rs
to make fail_with
errors impossible" (double revert)
So status report from where I left this. The issue with this PR currently is that it causes the sync component to restart syncing in response to mixed inventory errors. The previous version seems to somehow not error out in a way that restarts syncing when it encounters these same errors. The next steps are to figure out how the current version handles mixed inventory errors, and see how that differs from the refactor. |
It's also worth noting that these errors have an outsized impact because:
It's weird that the current connection code appears to be dropping some of these errors - or at least responding to them differently. But regardless of the fragility of this code and its context, we still need to make sure the refactor performs as well as the previous code. |
We've decided to close this PR for now, see ticket #1610 for next steps. |
TODO
Motivation
We want to refactor
connection.rs
to makefail_with
errors impossible.Solution
Reverts #1803
The reverts will continue until moral (sync speed) improves