-
Notifications
You must be signed in to change notification settings - Fork 878
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
Make all tasks switching tasks #5271
Labels
Comments
This was referenced May 30, 2023
Need a status on this ticket |
jframe
added
TeamCerberus
and removed
TeamRevenant
GH issues worked on by Revenant Team
labels
Aug 28, 2024
This might be a bit redundant after my refactoring work is in place. See https://www.notion.so/consensys/EthTask-and-EthPeer-system-ba1f00f85f5e4b9c94a0dd9c661f2c5c?d=d8303d044a8d40e590b48ea29885e154#567a120382c544a9b6e9431a3c951926 and #7602 |
Closing in favor of #7602 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Description
At the moment we have "switching" tasks, that go through the list of our peers when it is necessary to retry a task, and we have "retrying" tasks, that select the "best" peer every time we need to retry that task. As the best peer was selected the first time this task was called, there is a very good chance that we are selecting the same peer to retry that task. It makes more sense to select a different peer, which the "switching" tasks do.
Make sure that all tasks behave the same when getting a "useless" response. At the moment we have cases where we are returning an Optional.empty() and cases where we throw a IncompleteResultsException.
Make sure that we are doing the switch to another peer when needed. I think that we are not always doing that for "useless" responses.
There are tasks that we want to call with a specific peer, like getting a block or transaction when it was announced by one of our peers. We need to make sure that this can still happen.
Acceptance Criteria
The text was updated successfully, but these errors were encountered: