From 5b5fc705bead549fdbad975c303a0c6cda7c4671 Mon Sep 17 00:00:00 2001 From: Brandon Philips Date: Thu, 23 Jan 2014 12:42:06 -0800 Subject: [PATCH] docs(server): add a comment explaining the NOPCommand --- server.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/server.go b/server.go index b3529bd979..9f32740bbc 100644 --- a/server.go +++ b/server.go @@ -763,6 +763,10 @@ func (s *server) leaderLoop() { peer.startHeartbeat() } + // Commit a NOP after the server becomes leader. From the Raft paper: + // "Upon election: send initial empty AppendEntries RPCs (heartbeat) to + // each server; repeat during idle periods to prevent election timeouts + // (ยง5.2)". The heartbeats started above do the "idle" period work. go s.Do(NOPCommand{}) // Begin to collect response from followers