From d35f6647bcc49553ba3d6a22fa7a2a8b357a6de8 Mon Sep 17 00:00:00 2001 From: lzhfromustc <43191155+lzhfromustc@users.noreply.github.com> Date: Mon, 8 Jul 2019 14:24:52 -0700 Subject: [PATCH] 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. --- etcdserver/server.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/etcdserver/server.go b/etcdserver/server.go index 1e1841bce..236696e81 100644 --- a/etcdserver/server.go +++ b/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")