From abe6ab7941edf4833e222fa350f0a83cedc7057b Mon Sep 17 00:00:00 2001 From: Ash Keel Date: Wed, 15 Feb 2023 13:46:56 +0100 Subject: [PATCH] fix: close iterator on finished backup --- database/driver.pebble.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/database/driver.pebble.go b/database/driver.pebble.go index e6c2214..410fcf5 100644 --- a/database/driver.pebble.go +++ b/database/driver.pebble.go @@ -90,9 +90,14 @@ func (p *PebbleDatabase) Restore(file io.Reader) error { func (p *PebbleDatabase) Backup(file io.Writer) error { iter := p.db.NewSnapshot().NewIter(&pebble.IterOptions{}) + defer iter.Close() out := make(map[string]string) for iter.First(); iter.Valid(); iter.Next() { - out[string(iter.Key())] = string(iter.Value()) + val, err := iter.ValueAndErr() + if err != nil { + return err + } + out[string(iter.Key())] = string(val) } return json.NewEncoder(file).Encode(out) }