[#1512] object: Fix writePart for EC-container
All checks were successful
Vulncheck / Vulncheck (push) Successful in 4m58s
Tests and linters / Run gofumpt (push) Successful in 5m9s
Pre-commit hooks / Pre-commit (push) Successful in 6m11s
Tests and linters / Staticcheck (push) Successful in 6m14s
Build / Build Components (push) Successful in 6m33s
Tests and linters / gopls check (push) Successful in 6m41s
Tests and linters / Tests (push) Successful in 6m50s
Tests and linters / Tests with -race (push) Successful in 6m54s
Tests and linters / Lint (push) Successful in 7m16s

* Immediatly return after `ObjectAlreadyRemoved` error.

Signed-off-by: Airat Arifullin <a.arifullin@yadro.com>
This commit is contained in:
Airat Arifullin 2024-12-24 21:27:45 +03:00 committed by Evgenii Stratonikov
parent 9cd1bcef06
commit e44782473a
2 changed files with 4 additions and 0 deletions

View file

@ -14,6 +14,7 @@ import (
"git.frostfs.info/TrueCloudLab/frostfs-node/pkg/core/policy" "git.frostfs.info/TrueCloudLab/frostfs-node/pkg/core/policy"
svcutil "git.frostfs.info/TrueCloudLab/frostfs-node/pkg/services/object/util" svcutil "git.frostfs.info/TrueCloudLab/frostfs-node/pkg/services/object/util"
"git.frostfs.info/TrueCloudLab/frostfs-node/pkg/services/object_manager/placement" "git.frostfs.info/TrueCloudLab/frostfs-node/pkg/services/object_manager/placement"
clientSDK "git.frostfs.info/TrueCloudLab/frostfs-sdk-go/client"
containerSDK "git.frostfs.info/TrueCloudLab/frostfs-sdk-go/container" containerSDK "git.frostfs.info/TrueCloudLab/frostfs-sdk-go/container"
objectSDK "git.frostfs.info/TrueCloudLab/frostfs-sdk-go/object" objectSDK "git.frostfs.info/TrueCloudLab/frostfs-sdk-go/object"
"git.frostfs.info/TrueCloudLab/frostfs-sdk-go/object/erasurecode" "git.frostfs.info/TrueCloudLab/frostfs-sdk-go/object/erasurecode"
@ -274,6 +275,8 @@ func (e *ECWriter) writePart(ctx context.Context, obj *objectSDK.Object, partIdx
err := e.putECPartToNode(ctx, obj, node) err := e.putECPartToNode(ctx, obj, node)
if err == nil { if err == nil {
return nil return nil
} else if clientSDK.IsErrObjectAlreadyRemoved(err) {
return err
} }
e.Config.Logger.Warn(ctx, logs.ECFailedToSaveECPart, zap.Stringer("part_address", object.AddressOf(obj)), e.Config.Logger.Warn(ctx, logs.ECFailedToSaveECPart, zap.Stringer("part_address", object.AddressOf(obj)),
zap.Stringer("parent_address", obj.ECHeader().Parent()), zap.Int("part_index", partIdx), zap.Stringer("parent_address", obj.ECHeader().Parent()), zap.Int("part_index", partIdx),

View file

@ -352,6 +352,7 @@ func (s *Service) redirectPutSingleRequest(ctx context.Context,
err = signature.VerifyServiceMessage(resp) err = signature.VerifyServiceMessage(resp)
if err != nil { if err != nil {
err = fmt.Errorf("response verification failed: %w", err) err = fmt.Errorf("response verification failed: %w", err)
return
} }
st := apistatus.FromStatusV2(resp.GetMetaHeader().GetStatus()) st := apistatus.FromStatusV2(resp.GetMetaHeader().GetStatus())