Merge pull request #152 from xiangli-cmu/refactor_processCommand
Refactor process commandpull/820/head
commit
d08ec1d03f
14
server.go
14
server.go
|
@ -281,6 +281,7 @@ func (s *server) setState(state string) {
|
||||||
s.state = state
|
s.state = state
|
||||||
if state == Leader {
|
if state == Leader {
|
||||||
s.leader = s.Name()
|
s.leader = s.Name()
|
||||||
|
s.syncedPeer = make(map[string]bool)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Dispatch state and leader change events.
|
// Dispatch state and leader change events.
|
||||||
|
@ -753,7 +754,6 @@ func (s *server) candidateLoop() {
|
||||||
// The event loop that is run when the server is in a Leader state.
|
// The event loop that is run when the server is in a Leader state.
|
||||||
func (s *server) leaderLoop() {
|
func (s *server) leaderLoop() {
|
||||||
s.setState(Leader)
|
s.setState(Leader)
|
||||||
s.syncedPeer = make(map[string]bool)
|
|
||||||
logIndex, _ := s.log.lastInfo()
|
logIndex, _ := s.log.lastInfo()
|
||||||
|
|
||||||
// Update the peers prevLogIndex to leader's lastLogIndex and start heartbeat.
|
// Update the peers prevLogIndex to leader's lastLogIndex and start heartbeat.
|
||||||
|
@ -866,12 +866,12 @@ func (s *server) processCommand(command Command, e *ev) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
// Issue an append entries response for the server.
|
s.syncedPeer[s.Name()] = true
|
||||||
resp := newAppendEntriesResponse(s.currentTerm, true, s.log.currentIndex(), s.log.CommitIndex())
|
if len(s.peers) == 0 {
|
||||||
resp.append = true
|
commitIndex := s.log.currentIndex()
|
||||||
resp.peer = s.Name()
|
s.log.setCommitIndex(commitIndex)
|
||||||
|
s.debugln("commit index ", commitIndex)
|
||||||
s.sendAsync(resp)
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------
|
//--------------------------------------
|
||||||
|
|
Loading…
Reference in New Issue