diff --git a/store/v2/commitment/metadata.go b/store/v2/commitment/metadata.go index 8c1e7f1f8a..642e6b630d 100644 --- a/store/v2/commitment/metadata.go +++ b/store/v2/commitment/metadata.go @@ -82,10 +82,7 @@ func (m *MetadataStore) flushCommitInfo(version uint64, cInfo *proof.CommitInfo) batch := m.kv.NewBatch() defer func() { - cErr := batch.Close() - if err == nil { - err = cErr - } + err = errors.Join(err, batch.Close()) }() cInfoKey := []byte(fmt.Sprintf(commitInfoKeyFmt, version)) value, err := cInfo.Marshal() @@ -114,10 +111,7 @@ func (m *MetadataStore) flushCommitInfo(version uint64, cInfo *proof.CommitInfo) func (m *MetadataStore) flushRemovedStoreKeys(version uint64, storeKeys []string) (err error) { batch := m.kv.NewBatch() defer func() { - cErr := batch.Close() - if err == nil { - err = cErr - } + err = errors.Join(err, batch.Close()) }() for _, storeKey := range storeKeys { diff --git a/store/v2/migration/manager.go b/store/v2/migration/manager.go index a7ce8204a4..237dbd1e36 100644 --- a/store/v2/migration/manager.go +++ b/store/v2/migration/manager.go @@ -185,10 +185,7 @@ func (m *Manager) writeChangeset() error { // yet not in the for-loop which can leave resource lingering. err = func() (err error) { defer func() { - cErr := batch.Close() - if err == nil { - err = cErr - } + err = errors.Join(err, batch.Close()) }() if err := batch.Set(csKey, csBytes); err != nil { diff --git a/store/v2/storage/pebbledb/db.go b/store/v2/storage/pebbledb/db.go index 4acdc392b6..e5fd49ca3e 100644 --- a/store/v2/storage/pebbledb/db.go +++ b/store/v2/storage/pebbledb/db.go @@ -212,10 +212,7 @@ func (db *Database) Prune(version uint64) (err error) { batch := db.storage.NewBatch() defer func() { - cErr := batch.Close() - if err == nil { - err = cErr - } + err = errors.Join(err, batch.Close()) }() var ( @@ -339,10 +336,7 @@ func (db *Database) ReverseIterator(storeKey []byte, version uint64, start, end func (db *Database) PruneStoreKeys(storeKeys []string, version uint64) (err error) { batch := db.storage.NewBatch() defer func() { - cErr := batch.Close() - if err == nil { - err = cErr - } + err = errors.Join(err, batch.Close()) }() for _, storeKey := range storeKeys { @@ -444,10 +438,7 @@ func getMVCCSlice(db *pebble.DB, storeKey, key []byte, version uint64) ([]byte, func (db *Database) deleteRemovedStoreKeys(version uint64) (err error) { batch := db.storage.NewBatch() defer func() { - cErr := batch.Close() - if err == nil { - err = cErr - } + err = errors.Join(err, batch.Close()) }() end := encoding.BuildPrefixWithVersion(removedStoreKeyPrefix, version+1)