mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00
rafthttp: fix race between AddRemote and Send
This commit is contained in:
parent
91dc6b29a6
commit
813afc3d11
@ -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
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user