From edd32cad0a2fed57e2115ca864d23e047169467d Mon Sep 17 00:00:00 2001 From: Tai Groot Date: Fri, 4 Feb 2022 22:37:43 +0000 Subject: [PATCH] update sift to match docstring (#245) Closes #244. Reviewed-on: https://git.mills.io/prologic/bitcask/pulls/245 Reviewed-by: James Mills Co-authored-by: Tai Groot Co-committed-by: Tai Groot --- bitcask.go | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/bitcask.go b/bitcask.go index 7994328..4ae9a69 100644 --- a/bitcask.go +++ b/bitcask.go @@ -264,7 +264,9 @@ func (b *Bitcask) Sift(f func(key []byte) (bool, error)) (err error) { return true }) b.mu.RUnlock() - + if err != nil { + return + } b.mu.Lock() defer b.mu.Unlock() keysToDelete.ForEach(func(node art.Node) (cont bool) { @@ -343,6 +345,10 @@ func (b *Bitcask) SiftScan(prefix []byte, f func(key []byte) (bool, error)) (err }) b.mu.RUnlock() + if err != nil { + return + } + b.mu.Lock() defer b.mu.Unlock() keysToDelete.ForEach(func(node art.Node) (cont bool) { @@ -422,6 +428,10 @@ func (b *Bitcask) SiftRange(start, end []byte, f func(key []byte) (bool, error)) }) b.mu.RUnlock() + if err != nil { + return + } + b.mu.Lock() defer b.mu.Unlock()