forked from TrueCloudLab/frostfs-node
[#1634] node: Do not return expired objects
If an object has not been marked for removal by the GC in the current epoch yet but has already expired, respond with `ErrObjectNotFound` api status. Also, optimize shard iteration: a node must stop any iteration if the object is found but gonna be removed soon. All the checks are performed by the Metabase. Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
This commit is contained in:
parent
9aba0ba512
commit
156ba85326
28 changed files with 230 additions and 36 deletions
8
pkg/core/object/errors.go
Normal file
8
pkg/core/object/errors.go
Normal file
|
@ -0,0 +1,8 @@
|
|||
package object
|
||||
|
||||
import "errors"
|
||||
|
||||
// ErrObjectIsExpired is returned when the requested object's
|
||||
// epoch is less than the current one. Such objects are considered
|
||||
// as removed and should not be returned from the Storage Engine.
|
||||
var ErrObjectIsExpired = errors.New("object is expired")
|
Loading…
Add table
Add a link
Reference in a new issue