Browse Source

rafthttp: Panic informatively when removing unknown peer ID

Amit Gupta 11 years ago
parent
commit
317e57a8a8
1 changed files with 5 additions and 1 deletions
  1. 5 1
      rafthttp/transport.go

+ 5 - 1
rafthttp/transport.go

@@ -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())
 }