瀏覽代碼

Use newbe instead of s.be to avoid potential race

`s.cluster.SetBackend(s.be)` is not in critical section. Using `newbe` instead of `s.be` can avoid potential data race.
lzhfromustc 6 年之前
父節點
當前提交
d35f6647bc
共有 1 個文件被更改,包括 1 次插入1 次删除
  1. 1 1
      etcdserver/server.go

+ 1 - 1
etcdserver/server.go

@@ -1291,7 +1291,7 @@ func (s *EtcdServer) applySnapshot(ep *etcdProgress, apply *apply) {
 		plog.Info("finished recovering store v2")
 	}
 
-	s.cluster.SetBackend(s.be)
+	s.cluster.SetBackend(newbe)
 
 	if lg != nil {
 		lg.Info("restoring cluster configuration")