...
type | zxid | data | notation | meaning |
---|---|---|---|---|
FOLLOWERINFO(11) | acceptedEpoch | LearnerInfo | FOLLOWERINFO(acceptedEpoch) | The follower has accepted epoch acceptedEpoch. |
DIFF(13) | last committed zxid | n/a | DIFF(lastCommittedZxid) | lastCommittedZxid is the last zxid committed by the leader. |
TRUNC(14) | truncZxid | n/a | TRUNC(truncZxid) | Truncate the history to truncZxid |
SNAP(15) | n/a lastZxid | n/a | SNAP | A state transfer (aka snapshot) will be sent to the follower. this will be a fuzzy state transfer that may include zxids being sent to the follower. The state transfer will immediately follow this packet. |
OBSERVERINFO(16) | last zxid learned | LearnerInfo | OBSERVERINFO(lastZxid) | The observer has accepted up to lastZxid. |
LEADERINFO(17) | proposed epoch | protocol | LEADERINFO(e) | The new proposed epoch |
ACKEPOCH(18) | lastZxid | currentEpoch | ACKEPOCH(lastZxid, currentEpoch) | Acknowledge the acceptance of the new epoch. If the follower has already acknowledged the given epoch, it passes -1 as the currentEpoch to signal that the new epoch is not acknowledged. (We still need to send lastZxid for syncing if necessary) |
NEWLEADER(10) | e << 32 | n/a | NEWLEADER(e) | Accept this leader as the leader of the epoch e. |
UPTODATE(12) | n/a | n/a | UPTODATE | The follower is now uptodate enough to begin serving clients. |
PROPOSAL(2) | zxid of proposal | proposed message | PROPOSAL(zxid, data) | Propose a message. (Request that it be accepted into a followers history.) |
ACK(3) | zxid of proposal to ack | n/a | ACK(zxid) | Everything sent to the follower by the leader up to zxid has been accepted into its history (logged to disk). |
COMMIT(4) | zxid of proposal to commit | n/a | COMMIT(zxid) | Everything in the followers history up to zxid should be committed (aka delivered). |
INFORM(8) | zxid of proposal | data of proposal | INFORM(zxid, data) | Deliver the data. (Only used with observers.) |
...