From bc5e04f50232d9f717c97a8c175ba8b34dc3bc3b Mon Sep 17 00:00:00 2001 From: Leonard Lyubich Date: Fri, 19 Feb 2021 11:34:13 +0300 Subject: [PATCH] [#378] metabase: Calculate expiration once for each fake bucket Signed-off-by: Leonard Lyubich --- pkg/local_object_storage/metabase/iterators.go | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/pkg/local_object_storage/metabase/iterators.go b/pkg/local_object_storage/metabase/iterators.go index bd8fa5b3f..57f6faee2 100644 --- a/pkg/local_object_storage/metabase/iterators.go +++ b/pkg/local_object_storage/metabase/iterators.go @@ -58,14 +58,14 @@ func (db *DB) iterateExpired(tx *bbolt.Tx, epoch uint64, h ExpiredObjectHandler) return nil } - return bktExpired.ForEach(func(idKey, _ []byte) error { - expiresAt, err := strconv.ParseUint(string(expKey), 10, 64) - if err != nil { - return errors.Wrap(err, "could not parse expiration epoch") - } else if expiresAt >= epoch { - return nil - } + expiresAt, err := strconv.ParseUint(string(expKey), 10, 64) + if err != nil { + return errors.Wrap(err, "could not parse expiration epoch") + } else if expiresAt >= epoch { + return nil + } + return bktExpired.ForEach(func(idKey, _ []byte) error { id := object.NewID() err = id.Parse(string(idKey))