From afdf956e7aa194ec6ab32a59be164556a589ca17 Mon Sep 17 00:00:00 2001 From: chenbc Date: Wed, 17 Jun 2020 13:06:30 +0800 Subject: [PATCH] Fix recoverDatafile error covering (#162) --- internal/data/recover.go | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/internal/data/recover.go b/internal/data/recover.go index d9f01ea..55191f6 100644 --- a/internal/data/recover.go +++ b/internal/data/recover.go @@ -43,7 +43,10 @@ func recoverDatafile(path string, cfg *config.Config) (recovered bool, err error return false, fmt.Errorf("opening the datafile: %s", err) } defer func() { - err = f.Close() + closeErr := f.Close() + if err == nil { + err = closeErr + } }() _, file := filepath.Split(path) rPath := fmt.Sprintf("%s.recovered", file) @@ -52,7 +55,10 @@ func recoverDatafile(path string, cfg *config.Config) (recovered bool, err error return false, fmt.Errorf("creating the recovered datafile: %w", err) } defer func() { - err = fr.Close() + closeErr := fr.Close() + if err == nil { + err = closeErr + } }() dec := codec.NewDecoder(f, cfg.MaxKeySize, cfg.MaxValueSize)