forked from TrueCloudLab/frostfs-node
[#481] Update frostfs-sdk-go and error pointer receivers
Signed-off-by: Alejandro Lopez <a.lopez@yadro.com>
This commit is contained in:
parent
de3d1eb99c
commit
5b7e4a51b7
77 changed files with 265 additions and 313 deletions
|
@ -9,6 +9,7 @@ import (
|
|||
"git.frostfs.info/TrueCloudLab/frostfs-node/pkg/local_object_storage/util"
|
||||
"git.frostfs.info/TrueCloudLab/frostfs-node/pkg/local_object_storage/util/logicerr"
|
||||
"git.frostfs.info/TrueCloudLab/frostfs-observability/tracing"
|
||||
"git.frostfs.info/TrueCloudLab/frostfs-sdk-go/client"
|
||||
apistatus "git.frostfs.info/TrueCloudLab/frostfs-sdk-go/client/status"
|
||||
objectSDK "git.frostfs.info/TrueCloudLab/frostfs-sdk-go/object"
|
||||
oid "git.frostfs.info/TrueCloudLab/frostfs-sdk-go/object/id"
|
||||
|
@ -83,14 +84,12 @@ func (e *StorageEngine) getRange(ctx context.Context, prm RngPrm) (RngRes, error
|
|||
defer elapsed("GetRange", e.metrics.AddMethodDuration)()
|
||||
}
|
||||
|
||||
var errNotFound apistatus.ObjectNotFound
|
||||
|
||||
var shPrm shard.RngPrm
|
||||
shPrm.SetAddress(prm.addr)
|
||||
shPrm.SetRange(prm.off, prm.ln)
|
||||
|
||||
it := &getRangeShardIterator{
|
||||
OutError: errNotFound,
|
||||
OutError: new(apistatus.ObjectNotFound),
|
||||
ShardPrm: shPrm,
|
||||
Address: prm.addr,
|
||||
Engine: e,
|
||||
|
@ -105,7 +104,7 @@ func (e *StorageEngine) getRange(ctx context.Context, prm RngPrm) (RngRes, error
|
|||
if it.Object == nil {
|
||||
// If any shard is in a degraded mode, we should assume that metabase could store
|
||||
// info about some object.
|
||||
if it.ShardWithMeta.Shard == nil && !it.HasDegraded || !shard.IsErrNotFound(it.OutError) {
|
||||
if it.ShardWithMeta.Shard == nil && !it.HasDegraded || !client.IsErrObjectNotFound(it.OutError) {
|
||||
return RngRes{}, it.OutError
|
||||
}
|
||||
|
||||
|
@ -171,7 +170,7 @@ func (i *getRangeShardIterator) tryGetWithMeta(ctx context.Context) {
|
|||
i.MetaError = err
|
||||
}
|
||||
switch {
|
||||
case shard.IsErrNotFound(err):
|
||||
case client.IsErrObjectNotFound(err):
|
||||
return false // ignore, go to next shard
|
||||
case errors.As(err, &i.SplitInfoError):
|
||||
if i.SplitInfo == nil {
|
||||
|
@ -186,7 +185,7 @@ func (i *getRangeShardIterator) tryGetWithMeta(ctx context.Context) {
|
|||
// stop iterating over shards if SplitInfo structure is complete
|
||||
return withLink && withLast
|
||||
case
|
||||
shard.IsErrRemoved(err),
|
||||
client.IsErrObjectAlreadyRemoved(err),
|
||||
shard.IsErrOutOfRange(err):
|
||||
i.OutError = err
|
||||
|
||||
|
@ -212,9 +211,7 @@ func (i *getRangeShardIterator) tryGetFromBlobstor(ctx context.Context) {
|
|||
|
||||
res, err := sh.GetRange(ctx, i.ShardPrm)
|
||||
if shard.IsErrOutOfRange(err) {
|
||||
var errOutOfRange apistatus.ObjectOutOfRange
|
||||
|
||||
i.OutError = errOutOfRange
|
||||
i.OutError = new(apistatus.ObjectOutOfRange)
|
||||
return true
|
||||
}
|
||||
i.Object = res.Object()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue