mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00

Now that heartbeats are distinct from MsgApp{,Resp}, the retries currently performed in stepLeader's MsgAppResp section are only performed on an actual MsgAppResp (or a new MsgProp). This means that it may take a long time to recover from a dropped MsgAppResp in a quiet cluster. This commit adds a dedicated heartbeat response message. This message does not convey the follower's current log position because the MsgHeartbeat does not include the leaders term and index. Upon receipt of a heartbeat response, the leader may retry the latest MsgApp if it believes the follower to be behind.