From 26ea9b2f84141667c97f3039f3cdfbb242fba17e Mon Sep 17 00:00:00 2001 From: lfz941 Date: Tue, 7 Jan 2025 16:03:51 +0800 Subject: [PATCH] fix(store/v2): `chunk.Close` is called twice (#23168) Co-authored-by: Alex | Skip --- store/v2/snapshots/store.go | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/store/v2/snapshots/store.go b/store/v2/snapshots/store.go index f74461e8ec..2928b6c026 100644 --- a/store/v2/snapshots/store.go +++ b/store/v2/snapshots/store.go @@ -172,14 +172,15 @@ func (s *Store) Load(height uint64, format uint32) (*types.Snapshot, <-chan io.R _ = pw.CloseWithError(err) return } - defer chunk.Close() - _, err = io.Copy(pw, chunk) - if err != nil { - _ = pw.CloseWithError(err) - return - } - chunk.Close() - pw.Close() + func() { + defer chunk.Close() + _, err = io.Copy(pw, chunk) + if err != nil { + _ = pw.CloseWithError(err) + return + } + pw.Close() + }() } }()