raft: log only new/no leader

This commit is contained in:
Blake Mizerany 2014-09-02 20:21:58 -07:00 committed by Yicheng Qin
parent db8e4a2fc0
commit f2d200a826

View File

@ -3,6 +3,7 @@ package raft
import ( import (
"errors" "errors"
"log"
"code.google.com/p/go.net/context" "code.google.com/p/go.net/context"
pb "github.com/coreos/etcd/raft/raftpb" pb "github.com/coreos/etcd/raft/raftpb"
@ -68,16 +69,18 @@ func (n *Node) run(r *raft) {
propc := n.propc propc := n.propc
readyc := n.readyc readyc := n.readyc
var lead int64
var prev Ready var prev Ready
for { for {
if lead != r.lead {
log.Printf("raft: leader changed from %#x to %#x", lead, r.lead)
lead = r.lead
if r.hasLeader() { if r.hasLeader() {
propc = n.propc propc = n.propc
} else { } else {
// We cannot accept proposals because we don't know who
// to send them to, so we'll apply back-pressure and
// block senders.
propc = nil propc = nil
} }
}
rd := Ready{ rd := Ready{
r.State, r.State,