mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00
Merge pull request #6879 from xiang90/raft_test
raft: fix TestNodeProposeAddDuplicateNode
This commit is contained in:
commit
d7c98a4695
@ -303,7 +303,8 @@ func TestNodeProposeAddDuplicateNode(t *testing.T) {
|
||||
ticker := time.NewTicker(time.Millisecond * 100)
|
||||
done := make(chan struct{})
|
||||
stop := make(chan struct{})
|
||||
applyChan := make(chan struct{})
|
||||
applyConfChan := make(chan struct{})
|
||||
|
||||
go func() {
|
||||
defer close(done)
|
||||
for {
|
||||
@ -322,25 +323,29 @@ func TestNodeProposeAddDuplicateNode(t *testing.T) {
|
||||
var cc raftpb.ConfChange
|
||||
cc.Unmarshal(e.Data)
|
||||
n.ApplyConfChange(cc)
|
||||
applyConfChan <- struct{}{}
|
||||
}
|
||||
}
|
||||
n.Advance()
|
||||
applyChan <- struct{}{}
|
||||
}
|
||||
}
|
||||
}()
|
||||
|
||||
cc1 := raftpb.ConfChange{Type: raftpb.ConfChangeAddNode, NodeID: 1}
|
||||
ccdata1, _ := cc1.Marshal()
|
||||
n.ProposeConfChange(context.TODO(), cc1)
|
||||
<-applyChan
|
||||
<-applyConfChan
|
||||
|
||||
// try add the same node again
|
||||
n.ProposeConfChange(context.TODO(), cc1)
|
||||
<-applyChan
|
||||
<-applyConfChan
|
||||
|
||||
// the new node join should be ok
|
||||
cc2 := raftpb.ConfChange{Type: raftpb.ConfChangeAddNode, NodeID: 2}
|
||||
ccdata2, _ := cc2.Marshal()
|
||||
n.ProposeConfChange(context.TODO(), cc2)
|
||||
<-applyChan
|
||||
<-applyConfChan
|
||||
|
||||
close(stop)
|
||||
<-done
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user