trie: handle more batch commit errors in Database (#25674)

This commit is contained in:
Amir Hossein 2022-09-16 02:05:53 +04:30 committed by GitHub
parent a89b7addd4
commit 57a65f00c9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -662,8 +662,9 @@ func (db *Database) Commit(node common.Hash, report bool, callback func(common.H
// Uncache any leftovers in the last batch // Uncache any leftovers in the last batch
db.lock.Lock() db.lock.Lock()
defer db.lock.Unlock() defer db.lock.Unlock()
if err := batch.Replay(uncacher); err != nil {
batch.Replay(uncacher) return err
}
batch.Reset() batch.Reset()
// Reset the storage counters and bumped metrics // Reset the storage counters and bumped metrics
@ -711,9 +712,12 @@ func (db *Database) commit(hash common.Hash, batch ethdb.Batch, uncacher *cleane
return err return err
} }
db.lock.Lock() db.lock.Lock()
batch.Replay(uncacher) err := batch.Replay(uncacher)
batch.Reset() batch.Reset()
db.lock.Unlock() db.lock.Unlock()
if err != nil {
return err
}
} }
return nil return nil
} }