forked from TrueCloudLab/frostfs-node
[#1561] object: Return OUT_OF_RANGE
status
Replace `ErrRangeOutOfBounds` error from `pkg/core/object` package with `ObjectOutOfRange` from `apistatus` package. That error is returned by storage node's server as NeoFS API statuses. Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
This commit is contained in:
parent
ccba07fe19
commit
9f7a22e2aa
11 changed files with 46 additions and 27 deletions
|
@ -3,7 +3,6 @@ package engine
|
|||
import (
|
||||
"errors"
|
||||
|
||||
"github.com/nspcc-dev/neofs-node/pkg/core/object"
|
||||
"github.com/nspcc-dev/neofs-node/pkg/local_object_storage/shard"
|
||||
"github.com/nspcc-dev/neofs-node/pkg/local_object_storage/util"
|
||||
apistatus "github.com/nspcc-dev/neofs-sdk-go/client/status"
|
||||
|
@ -121,7 +120,7 @@ func (e *StorageEngine) getRange(prm RngPrm) (RngRes, error) {
|
|||
return false
|
||||
case
|
||||
shard.IsErrRemoved(err),
|
||||
errors.Is(err, object.ErrRangeOutOfBounds):
|
||||
shard.IsErrOutOfRange(err):
|
||||
outError = err
|
||||
|
||||
return true // stop, return it back
|
||||
|
@ -152,8 +151,10 @@ func (e *StorageEngine) getRange(prm RngPrm) (RngRes, error) {
|
|||
|
||||
e.iterateOverSortedShards(prm.addr, func(_ int, sh hashedShard) (stop bool) {
|
||||
res, err := sh.GetRange(shPrm)
|
||||
if errors.Is(err, object.ErrRangeOutOfBounds) {
|
||||
outError = object.ErrRangeOutOfBounds
|
||||
if shard.IsErrOutOfRange(err) {
|
||||
var errOutOfRange apistatus.ObjectOutOfRange
|
||||
|
||||
outError = errOutOfRange
|
||||
return true
|
||||
}
|
||||
obj = res.Object()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue