Skip to content

Commit 73a5c80

Browse files
authored
Fix panic when handling error in metastore snapshot compaction (#4313)
1 parent 6fc5713 commit 73a5c80

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

pkg/metastore/fsm/boltdb.go

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -149,8 +149,11 @@ func (db *boltdb) restore(snapshot io.Reader) error {
149149
// For clarity: this step is not required (path == restored.path).
150150
path = restored.path
151151
level.Error(db.logger).Log("msg", "failed to compact boltdb; skipping compaction", "err", compactErr)
152-
if removeErr := os.RemoveAll(compacted.path); removeErr != nil {
153-
level.Error(db.logger).Log("msg", "failed to remove compacted snapshot", "err", removeErr)
152+
if compacted != nil {
153+
level.Warn(db.logger).Log("msg", "trying to delete compacted snapshot", "path", compacted.path)
154+
if removeErr := os.RemoveAll(compacted.path); removeErr != nil {
155+
level.Error(db.logger).Log("msg", "failed to remove compacted snapshot", "err", removeErr)
156+
}
154157
}
155158
} else {
156159
// If compaction succeeded, we want to remove the restored snapshot.

0 commit comments

Comments
 (0)