diff --git a/client/pkg/transport/listener.go b/client/pkg/transport/listener.go index bbb84af4b58..49c4f750d5e 100644 --- a/client/pkg/transport/listener.go +++ b/client/pkg/transport/listener.go @@ -313,11 +313,13 @@ func SelfCert(lg *zap.Logger, dirpath string, hosts []string, selfSignedCertVali certOut, err := os.Create(certPath) if err != nil { - info.Logger.Warn( - "cannot cert file", - zap.String("path", certPath), - zap.Error(err), - ) + if info.Logger != nil { + info.Logger.Warn( + "cannot cert file", + zap.String("path", certPath), + zap.Error(err), + ) + } return info, err } pem.Encode(certOut, &pem.Block{Type: "CERTIFICATE", Bytes: derBytes}) diff --git a/client/v3/snapshot/v3_snapshot.go b/client/v3/snapshot/v3_snapshot.go index b2db5f0c137..34ce2d949f4 100644 --- a/client/v3/snapshot/v3_snapshot.go +++ b/client/v3/snapshot/v3_snapshot.go @@ -64,6 +64,7 @@ func SaveWithVersion(ctx context.Context, lg *zap.Logger, cfg clientv3.Config, d if err != nil { return "", fmt.Errorf("could not open %s (%v)", partpath, err) } + defer f.Close() lg.Info("created temporary db file", zap.String("path", partpath)) start := time.Now() @@ -84,9 +85,6 @@ func SaveWithVersion(ctx context.Context, lg *zap.Logger, cfg clientv3.Config, d if err = fileutil.Fsync(f); err != nil { return resp.Version, err } - if err = f.Close(); err != nil { - return resp.Version, err - } lg.Info("fetched snapshot", zap.String("endpoint", cfg.Endpoints[0]), zap.String("size", humanize.Bytes(uint64(size))),