check iterator error

Signed-off-by: jsvisa <delweng@gmail.com>
This commit is contained in:
jsvisa 2025-08-12 12:10:13 +08:00 committed by Gary Rong
parent c3204b338d
commit e1c599e286

View file

@ -466,6 +466,12 @@ func (g *StateSizeGenerator) iterateTable(ctx context.Context, prefix []byte, na
iter := g.db.NewIterator(prefix, nil)
defer iter.Release()
// Check for iterator errors before starting iteration
if err := iter.Error(); err != nil {
log.Warn("Iterator error before iteration, database may be closed", "table", name, "err", err)
return 0, 0, err
}
for iter.Next() {
count++
bytes += int64(len(iter.Key()) + len(iter.Value()))