txn := c.db.NewTransaction(true)
opts := badger.DefaultIteratorOptions
opts.PrefetchValues = false
it := txn.NewIterator(opts)
defer it.Close()
for it.Seek(prefixBytes); it.ValidForPrefix(prefixBytes); it.Next() {
k := it.Item().Key()
// Prefix deleting
err := txn.Delete(k)
if err == badger.ErrTxnTooBig {
log.Warn("txn too big, deleting using new txn")
_ = txn.Commit()
txn = c.db.NewTransaction(true)
_ = txn.Delete(k)
} else if err != nil {
log.Warn("Error when deleting table:", err)
}
}
err = txn.Commit()
Program crashed when executing the last txn.Commit()
Badger version: v3.2103.2
Go version: 1.19
Hardware: MacOS M1 Pro