-
Notifications
You must be signed in to change notification settings - Fork 47
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
[Byzantine testing] - View Lagging node #3609
Conversation
I'm not sure this does what it's supposed to do, my read of the logic is that is delays each event type by a number of views. So if we get a proposal for view 2 with a delay of 1 we'll actually broadcast the proposal for 1 but we wouldn't broadcast a DAC or VID share for view 1. With votes this is really awkward because it means at minimum the voting is delayed until our next leadership because that's the next time we'll get a vote |
c8048c7
to
c374244
Compare
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.
Not sure if there was anything specific you wanted me to check, but looks fine to me overall - just one minor comment about remove
(not 100% sure if that's what the method is) vs. get
.
64414de
to
e8b5582
Compare
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 to me!
aa9bacf
to
8ca07b5
Compare
Closes (#3608)
This PR:
Adds a byzantine test where we have one node that is constantly behind by a a configurable set of views on the receive handle. When node receives an event for current view it will return an event that is cached.
Also this PR cleans up where we keep the Byzantine tests.
This PR does not:
Key places to review:
ViewDelay
struct and how it implementsEventTransformerState
to see the logic of how we handle delayed views. Also/crates/testing/src/byzantine
this is where i moved the byzantine logic to. Andcrates/testing/tests/tests_2
is where byzantine tests are placed.