From fee50b13a2cc212e1f30a0e900d654a75117d6c0 Mon Sep 17 00:00:00 2001 From: vyzo Date: Wed, 7 Jul 2021 21:32:05 +0300 Subject: [PATCH] check the closing state on each batch during the purge. --- blockstore/splitstore/splitstore.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/blockstore/splitstore/splitstore.go b/blockstore/splitstore/splitstore.go index 37793f2cc..d72ec665d 100644 --- a/blockstore/splitstore/splitstore.go +++ b/blockstore/splitstore/splitstore.go @@ -1402,6 +1402,11 @@ func (s *SplitStore) purge(cids []cid.Cid) error { func(cids []cid.Cid) error { deadCids := deadCids[:0] + if atomic.LoadInt32(&s.closing) == 1 { + log.Info("splitstore is closing; aborting purge") + return xerrors.Errorf("compaction aborted") + } + s.txnLk.Lock() defer s.txnLk.Unlock()