-
Notifications
You must be signed in to change notification settings - Fork 41
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
spec for joint consensus #26
base: master
Are you sure you want to change the base?
Conversation
|
||
\* The members of the server at that time. | ||
VARIABLE voters | ||
VARIABLE nextVoters |
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.
Do we need to consider learners? It's possible to promote a learner, remove them, or add them during Joint Consensus.
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.
Maybe later. It will increase the state space.
JointConsensus/JointConsensus.tla
Outdated
|
||
\* Get the maximum config from log[1..l]. | ||
GetMaxConfigIndex(i, l) == | ||
LET chonfigIndexes == {index \in 1..l: log[i][index].type = ConfigEntry} |
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 you mispelled configIndexes
here.
don't leave description empty, I don't know what you want to do @nolouch |
\* The candidate the server voted for in its current term, or | ||
\* Nil if it hasn't voted for any. | ||
VARIABLE votedFor | ||
serverVars == <<currentTerm, state, votedFor,allServers, voters,nextVoters>> |
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.
voter, nextVoters
Signed-off-by: nolouch <nolouch@gmail.com>
Chapter 6 in raft paper introduce the joint consensus, this is a TLA+ part for it. and it is modified from the origin raft.tla