-
Notifications
You must be signed in to change notification settings - Fork 32
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
[Stability] Cancel polling for old votes #2223
Conversation
crates/task-impls/src/view_sync.rs
Outdated
@@ -465,6 +465,13 @@ impl< | |||
return; | |||
} | |||
|
|||
// cancel poll for votes | |||
self.network | |||
.inject_consensus_info(ConsensusIntentEvent::CancelPollForViewSyncVotes( |
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 was correct before, we just timed out consensus for the round and are now maybe entering view sync, we should cancel polling for quorum votes and proposals but that should be handled in the consensus task
@@ -975,6 +993,11 @@ impl<TYPES: NodeType, I: NodeImplementation<TYPES>, A: ConsensusApi<TYPES, I> + | |||
return; | |||
} | |||
|
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.
Cancel poll for proposal here too, I think
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.
LGTM, Can you wait for CI to pass before trying to merge
Closes #2222
This PR:
Fixes a bug wherein we are not cancelling old polls for votes.
Cancels polls for votes in the following places:
Also cancels a poll for proposals for view 1, as this is covered by the latest proposal mechanism. For a node finishing catchup, it would constantly try to pull the first proposal.
This PR does not:
Add any GC improvements/more advanced proposal logic/cancelling as discussed. This will be in another PR.
Key places to review:
da.rs
,consensus.rs
,view_sync.rs
to make sure all the cancels are in a good spot.