From eb6e5c97e7eadab2cb1fdb0f81f45549d75183fe Mon Sep 17 00:00:00 2001 From: Victor Shyba Date: Sun, 24 Mar 2024 05:11:30 -0300 Subject: [PATCH] skip compaction missing data (#143) --- node/app/node.go | 6 +++++- node/store/clock.go | 4 ++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/node/app/node.go b/node/app/node.go index cc15135..45b458d 100644 --- a/node/app/node.go +++ b/node/app/node.go @@ -51,7 +51,11 @@ func newNode( if err := clockStore.Compact( intrinsicFilter, ); err != nil { - panic(err) + if errors.Is(err, store.ErrNotFound) { + logger.Error("Missing compaction data. Skipping for now.", zap.Error(err)) + } else { + panic(err) + } } logger.Info("compaction complete") diff --git a/node/store/clock.go b/node/store/clock.go index bedf592..aee43ec 100644 --- a/node/store/clock.go +++ b/node/store/clock.go @@ -1277,7 +1277,7 @@ func (p *PebbleClockStore) Compact( idxValue, closer, err := p.db.Get(clockDataLatestIndex(dataFilter)) if err != nil { if errors.Is(err, pebble.ErrNotFound) { - return errors.Wrap(err, "compact") + return ErrNotFound } return errors.Wrap(err, "compact") @@ -1291,7 +1291,7 @@ func (p *PebbleClockStore) Compact( value, closer, err := p.db.Get(clockDataFrameKey(dataFilter, frameNumber)) if err != nil { if errors.Is(err, pebble.ErrNotFound) { - return errors.Wrap(err, "compact") + return ErrNotFound } return errors.Wrap(err, "compact")