THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
...
- l The leader starts accepting connections from followers.
- f Followers connect the the leader and send SERVERINFO(lastZxid, info).
- l The leader sends SERVERINFO(lastZxid, info) to followers that connect.
- l Once the leader has quorum, it stops accepting connections, and sends NEWEPOCH(e) to all followers, where e is greater than all f.acceptedEpoch in the quorum.
- f Followers send ACK(e<<32) When the follower receives NEWEPOCH(e) it will do one of the following:
- if e > f.acceptedEpoch
- , the
- the follower sets f.acceptedEpoch = e and sends ACK(e<<32);
- if e == f.acceptedEpoch, the follower
- does not send ACK(e<<32), but
- continues to next step;
- if e < f.acceptedEpoch, the follower closes the connection to the leader
- and goes back to leader election;
- l The leader waits for all followers to ack NEWEPOCH(e)
- l If the following conditions are not met for all connected followers, the leader disconnects followers and goes back to leader election:
- f.currentEpoch <= l.currentEpoch
- if f.currentEpoch == l.currentEpoch, then f.lastZxid <= l.lastZxid
...