Merge pull request #1846 from xiang90/raft

raft: more logging
release-2.0
Xiang Li 2014-12-03 14:59:06 -08:00
commit a426b310fc
1 changed files with 9 additions and 0 deletions

View File

@ -399,11 +399,14 @@ func (r *raft) campaign() {
r.becomeCandidate()
if r.q() == r.poll(r.id, true) {
r.becomeLeader()
return
}
for i := range r.prs {
if i == r.id {
continue
}
log.Printf("raft: %x [logterm: %d, index: %d] sent vote request to %x at term %d",
r.id, r.raftLog.lastTerm(), r.raftLog.lastIndex(), i, r.Term)
r.send(pb.Message{To: i, Type: pb.MsgVote, Index: r.raftLog.lastIndex(), LogTerm: r.raftLog.lastTerm()})
}
}
@ -413,7 +416,9 @@ func (r *raft) Step(m pb.Message) error {
defer func() { r.Commit = r.raftLog.committed }()
if m.Type == pb.MsgHup {
log.Printf("raft: %x is starting a new election at term %d", r.id, r.Term)
r.campaign()
return nil
}
switch {
@ -424,9 +429,13 @@ func (r *raft) Step(m pb.Message) error {
if m.Type == pb.MsgVote {
lead = None
}
log.Printf("raft: %x [term: %d] received a %s message with higher term from %x [term: %d]",
r.id, r.Term, m.Type, m.From, m.Term)
r.becomeFollower(m.Term, lead)
case m.Term < r.Term:
// ignore
log.Printf("raft: %x [term: %d] ignored a %s message with lower term from %x [term: %d]",
r.id, r.Term, m.Type, m.From, m.Term)
return nil
}
r.step(r, m)