diff --git a/store/v2/migration/manager.go b/store/v2/migration/manager.go index e71d97877e..a7ce8204a4 100644 --- a/store/v2/migration/manager.go +++ b/store/v2/migration/manager.go @@ -183,8 +183,13 @@ func (m *Manager) writeChangeset() error { batch := m.db.NewBatch() // Invoking this code in a closure so that defer is called immediately on return // yet not in the for-loop which can leave resource lingering. - err = func() error { - defer batch.Close() + err = func() (err error) { + defer func() { + cErr := batch.Close() + if err == nil { + err = cErr + } + }() if err := batch.Set(csKey, csBytes); err != nil { return fmt.Errorf("failed to write changeset to db.Batch: %w", err)