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
VoteListener doesn't retry votes even if they don't land in a bank #6675
Comments
@aeyakovenko Can you help propose the right solution to this? Carl describes the problem pretty well. The simple fix is to do the following:
The problem with this is that we should stop retrying the vote if it made it into a bank successfully. Otherwise we just end up with a bunch of duplicate signature errors (nbd?) until a new vote comes through or the validator that submitted it goes offline. We could also cache these in banking_stage (ick) or track the results (since votes are usually all on the same thread) and keep retrying until it succeeds. But then there's no way to clean up the vote if it's genuinely bad. Also I should add that we don't know just how much of a problem the current behavior is. But it doesn't seem correct. |
@carllin is that the bug!? I think for now we can grab all the votes from gossip and retry. The duplicate signature errors are nbd. |
How would the votes ever fail and succeed later? |
So we don't know if this is an issue. It's just how the code is behaving right now. |
I think that would cause it. not sure that is what we saw though. |
Agreed. Not sure this is exactly what happened but we should patch it. |
yeah, just covering bases here. Root cause still pending more analysis. |
Fixed by #6695 |
Problem
The vote listener will pull a vote off of gossip, record the timestamp of that vote, and then attempt to run the vote through banking stage. If the vote doesn't land, the vote listener will not reattempt to play that vote again.
The text was updated successfully, but these errors were encountered: