Merge pull request #2287 from Amit-PivotalLabs/master

rafthttp/transport.go: Fix nil pointer dereference in RemovePeer
release-2.0
Xiang Li 2015-02-12 14:49:12 -08:00
commit daf1a913bb
1 changed files with 5 additions and 1 deletions

View File

@ -132,7 +132,11 @@ func (t *transport) AddPeer(id types.ID, urls []string) {
func (t *transport) RemovePeer(id types.ID) {
t.mu.Lock()
defer t.mu.Unlock()
t.peers[id].Stop()
if peer, ok := t.peers[id]; ok {
peer.Stop()
} else {
log.Panicf("rafthttp: unexpected removal of unknown peer '%d'", id)
}
delete(t.peers, id)
delete(t.leaderStats.Followers, id.String())
}