Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. l The leader starts accepting connections from followers.
  2. f Followers connect the the leader and send SERVERINFO(lastZxid, info).
  • l The leader sends SERVERINFO(lastZxid, info) to followers that connect.
  1. l The leader stops waits for a quorum of followers to connect all of whom has:
    • f.currentEpoch <= l.currentEpoch
    • if f.currentEpoch == l.currentEpoch, then f.lastZxid < l.lastZxid
  2. 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.
  3. f Followers send ACK(e<<32) if e > f.acceptedEpoch. (If e < f.acceptedEpoch, the follower will abandon the leader. If e == f.acceptedEpoch, the follower will not send ACK(e<<32), but will still maintain the connection to the leader.)
  4. l The leader waits for all followers to ack NEWEPOCH(e)

...