From 8c81598455581db28cc0e29e111bc2fadfd6e195 Mon Sep 17 00:00:00 2001 From: ahrtr Date: Thu, 25 Nov 2021 05:45:20 +0800 Subject: [PATCH] set the backend again after recovering v3 backend from snapshot --- server/etcdserver/server.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/server/etcdserver/server.go b/server/etcdserver/server.go index 56e288cc5..9ef2c838f 100644 --- a/server/etcdserver/server.go +++ b/server/etcdserver/server.go @@ -514,6 +514,9 @@ func NewServer(cfg config.ServerConfig) (srv *EtcdServer, err error) { if be, err = recoverSnapshotBackend(cfg, be, *snapshot, beExist, beHooks); err != nil { cfg.Logger.Panic("failed to recover v3 backend from snapshot", zap.Error(err)) } + // A snapshot db may have already been recovered, and the old db should have + // already been closed in this case, so we should set the backend again. + ci.SetBackend(be) s1, s2 := be.Size(), be.SizeInUse() cfg.Logger.Info( "recovered v3 backend from snapshot",