-
Notifications
You must be signed in to change notification settings - Fork 38
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
Add liveness tests (BFT-387) #46
Conversation
fyi, all these |
@@ -83,8 +135,8 @@ impl UTHarness { | |||
&self.consensus.inner.secret_key | |||
} | |||
|
|||
pub(crate) fn owner_as_view_leader(&self) -> ViewNumber { | |||
let mut view = self.current_replica_view(); | |||
pub(crate) fn owner_as_view_leader_next(&self) -> ViewNumber { |
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.
nit: IMO the "next" suffix seems to suggest at the very least that the returned view will be AFTER the current view.
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 wanted to imply that it's not beyond the next one.
But perhaps there will be a use case where the current is to be skipped, so I made it explicit with a longer name: owner_as_view_leader_current_or_next
.
9ac1ffd
to
9c75462
Compare
Adding new protocol liveness tests for when the network becomes idle in various stages:
timeout_leader_no_prepares
- when leader have no cached prepare messages for the current viewtimeout_leader_some_prepares
- when leader have some cached prepare messages for the current viewtimeout_leader_in_commit
- when leader is in commit phasetimeout_replica_in_commit
- when replica is in commit phasetimeout_leader_some_commits
- when leader have some cached commit messages for the current viewtimeout_leader_in_consecutive_prepare
- when leader is in a consecutive prepare phase