rafthttp: fix race between AddRemote and Send

This commit is contained in:
Anthony Romano 2016-03-27 03:07:33 -07:00
parent 91dc6b29a6
commit 813afc3d11

View File

@ -165,10 +165,11 @@ func (t *Transport) Send(msgs []raftpb.Message) {
to := types.ID(m.To)
t.mu.RLock()
p, ok := t.peers[to]
p, pok := t.peers[to]
g, rok := t.remotes[to]
t.mu.RUnlock()
if ok {
if pok {
if m.Type == raftpb.MsgApp {
t.ServerStats.SendAppendReq(m.Size())
}
@ -176,8 +177,7 @@ func (t *Transport) Send(msgs []raftpb.Message) {
continue
}
g, ok := t.remotes[to]
if ok {
if rok {
g.send(m)
continue
}