Merge pull request #3077 from yichengq/fix-test-sync

etcdserver: init raft internal var early
release-2.1
Yicheng Qin 2015-07-10 14:44:52 -07:00
commit 5be545b872
3 changed files with 4 additions and 3 deletions

View File

@ -109,9 +109,6 @@ type raftNode struct {
}
func (r *raftNode) run() {
r.stopped = make(chan struct{})
r.done = make(chan struct{})
var syncC <-chan time.Time
defer r.stop()

View File

@ -152,6 +152,8 @@ func TestStopRaftWhenWaitingForApplyDone(t *testing.T) {
storage: &storageRecorder{},
raftStorage: raft.NewMemoryStorage(),
transport: &nopTransporter{},
stopped: make(chan struct{}),
done: make(chan struct{}),
}
r.s = &EtcdServer{r: r}
go r.run()

View File

@ -416,6 +416,8 @@ func (s *EtcdServer) run() {
// TODO: get rid of the raft initialization in etcd server
s.r.s = s
s.r.applyc = make(chan apply)
s.r.stopped = make(chan struct{})
s.r.done = make(chan struct{})
go s.r.run()
defer func() {
s.r.stopped <- struct{}{}