diff --git a/index/scorch/persister.go b/index/scorch/persister.go index 969b449c..4ad3df80 100644 --- a/index/scorch/persister.go +++ b/index/scorch/persister.go @@ -448,22 +448,25 @@ func (s *Scorch) removeOldBoltSnapshots() (numRemoved int, err error) { if err != nil { return 0, err } - defer func() { - if err == nil { - err = s.rootBolt.Sync() - } - }() defer func() { if err == nil { err = tx.Commit() } else { _ = tx.Rollback() } + if err == nil { + err = s.rootBolt.Sync() + } }() + snapshots := tx.Bucket(boltSnapshotsBucket) + if snapshots == nil { + return 0, nil + } + for _, epochToRemove := range epochsToRemove { k := segment.EncodeUvarintAscending(nil, epochToRemove) - err = tx.DeleteBucket(k) + err = snapshots.DeleteBucket(k) if err == bolt.ErrBucketNotFound { err = nil }