From 36642535886dd35cb7607205a4c94c607b8c65f8 Mon Sep 17 00:00:00 2001 From: aarifullin Date: Thu, 19 Oct 2023 18:19:55 +0300 Subject: [PATCH 1/2] [#747] client: Refactor PrmObjectPutSingle usage Signed-off-by: Airat Arifullin --- go.mod | 2 +- go.sum | 4 ++-- pkg/services/object/internal/client/client.go | 24 ++++++------------- 3 files changed, 10 insertions(+), 20 deletions(-) diff --git a/go.mod b/go.mod index 28008128..a97e04f3 100644 --- a/go.mod +++ b/go.mod @@ -6,7 +6,7 @@ require ( git.frostfs.info/TrueCloudLab/frostfs-api-go/v2 v2.16.0 git.frostfs.info/TrueCloudLab/frostfs-contract v0.18.0 git.frostfs.info/TrueCloudLab/frostfs-observability v0.0.0-20230531082742-c97d21411eb6 - git.frostfs.info/TrueCloudLab/frostfs-sdk-go v0.0.0-20230928142024-84b9d29fc98c + git.frostfs.info/TrueCloudLab/frostfs-sdk-go v0.0.0-20231019083813-5804128ff3d5 git.frostfs.info/TrueCloudLab/hrw v1.2.1 git.frostfs.info/TrueCloudLab/tzhash v1.8.0 github.com/cheggaaa/pb v1.0.29 diff --git a/go.sum b/go.sum index 8490c167..29134ea5 100644 --- a/go.sum +++ b/go.sum @@ -393,8 +393,8 @@ git.frostfs.info/TrueCloudLab/frostfs-crypto v0.6.0 h1:FxqFDhQYYgpe41qsIHVOcdzSV git.frostfs.info/TrueCloudLab/frostfs-crypto v0.6.0/go.mod h1:RUIKZATQLJ+TaYQa60X2fTDwfuhMfm8Ar60bQ5fr+vU= git.frostfs.info/TrueCloudLab/frostfs-observability v0.0.0-20230531082742-c97d21411eb6 h1:aGQ6QaAnTerQ5Dq5b2/f9DUQtSqPkZZ/bkMx/HKuLCo= git.frostfs.info/TrueCloudLab/frostfs-observability v0.0.0-20230531082742-c97d21411eb6/go.mod h1:W8Nn08/l6aQ7UlIbpF7FsQou7TVpcRD1ZT1KG4TrFhE= -git.frostfs.info/TrueCloudLab/frostfs-sdk-go v0.0.0-20230928142024-84b9d29fc98c h1:c8mduKlc8Zioppz5o06QRYS5KYX3BFRO+NgKj2q6kD8= -git.frostfs.info/TrueCloudLab/frostfs-sdk-go v0.0.0-20230928142024-84b9d29fc98c/go.mod h1:t1akKcUH7iBrFHX8rSXScYMP17k2kYQXMbZooiL5Juw= +git.frostfs.info/TrueCloudLab/frostfs-sdk-go v0.0.0-20231019083813-5804128ff3d5 h1:P2HCnBTx+LwhMYSrs4sF8+jHvD1+HdS0fMtUPe2kTns= +git.frostfs.info/TrueCloudLab/frostfs-sdk-go v0.0.0-20231019083813-5804128ff3d5/go.mod h1:t1akKcUH7iBrFHX8rSXScYMP17k2kYQXMbZooiL5Juw= git.frostfs.info/TrueCloudLab/hrw v1.2.1 h1:ccBRK21rFvY5R1WotI6LNoPlizk7qSvdfD8lNIRudVc= git.frostfs.info/TrueCloudLab/hrw v1.2.1/go.mod h1:C1Ygde2n843yTZEQ0FP69jYiuaYV0kriLvP4zm8JuvM= git.frostfs.info/TrueCloudLab/rfc6979 v0.4.0 h1:M2KR3iBj7WpY3hP10IevfIB9MURr4O9mwVfJ+SjT3HA= diff --git a/pkg/services/object/internal/client/client.go b/pkg/services/object/internal/client/client.go index 0301a593..27548862 100644 --- a/pkg/services/object/internal/client/client.go +++ b/pkg/services/object/internal/client/client.go @@ -449,25 +449,15 @@ func PutObjectSingle(ctx context.Context, prm PutObjectPrm) (*PutObjectRes, erro return nil, errors.New("missing object id") } - var prmCli client.PrmObjectPutSingle - - prmCli.ExecuteLocal() - - if prm.key != nil { - prmCli.UseKey(prm.key) + prmCli := client.PrmObjectPutSingle{ + XHeaders: prm.xHeaders, + BearerToken: prm.tokenBearer, + Session: prm.tokenSession, + Local: true, + Key: prm.key, + Object: prm.obj, } - if prm.tokenSession != nil { - prmCli.WithinSession(*prm.tokenSession) - } - - if prm.tokenBearer != nil { - prmCli.WithBearerToken(*prm.tokenBearer) - } - - prmCli.WithXHeaders(prm.xHeaders...) - prmCli.SetObject(prm.obj.ToV2()) - res, err := prm.cli.ObjectPutSingle(ctx, prmCli) if err != nil { ReportError(prm.cli, err) -- 2.40.1 From 1c655816c9d3015e04c20445e4a4a1d8a19f9a84 Mon Sep 17 00:00:00 2001 From: aarifullin Date: Fri, 20 Oct 2023 10:33:24 +0300 Subject: [PATCH 2/2] [#747] client: Refactor PrmObjectPutInit usage Signed-off-by: Airat Arifullin --- cmd/frostfs-cli/internal/client/client.go | 27 +++++++------------ pkg/services/object/internal/client/client.go | 22 +++++---------- 2 files changed, 16 insertions(+), 33 deletions(-) diff --git a/cmd/frostfs-cli/internal/client/client.go b/cmd/frostfs-cli/internal/client/client.go index 9cb7c816..b370ff3a 100644 --- a/cmd/frostfs-cli/internal/client/client.go +++ b/cmd/frostfs-cli/internal/client/client.go @@ -387,30 +387,23 @@ func (x *PutObjectPrm) PrepareLocally() { } func (x *PutObjectPrm) convertToSDKPrm(ctx context.Context) (client.PrmObjectPutInit, error) { - var putPrm client.PrmObjectPutInit - if !x.prepareLocally && x.sessionToken != nil { - putPrm.WithinSession(*x.sessionToken) + putPrm := client.PrmObjectPutInit{ + XHeaders: x.xHeaders, + BearerToken: x.bearerToken, + Local: x.local, + CopiesNumber: x.copyNum, } - if x.bearerToken != nil { - putPrm.WithBearerToken(*x.bearerToken) - } - - if x.local { - putPrm.MarkLocal() - } - - putPrm.WithXHeaders(x.xHeaders...) - putPrm.SetCopiesNumberByVectors(x.copyNum) - if x.prepareLocally { res, err := x.cli.NetworkInfo(ctx, client.PrmNetworkInfo{}) if err != nil { return client.PrmObjectPutInit{}, err } - putPrm.WithObjectMaxSize(res.Info().MaxObjectSize()) - putPrm.WithEpochSource(epochSource(res.Info().CurrentEpoch())) - putPrm.WithoutHomomorphicHash(res.Info().HomomorphicHashingDisabled()) + putPrm.MaxSize = res.Info().MaxObjectSize() + putPrm.EpochSource = epochSource(res.Info().CurrentEpoch()) + putPrm.WithoutHomomorphHash = res.Info().HomomorphicHashingDisabled() + } else { + putPrm.Session = x.sessionToken } return putPrm, nil } diff --git a/pkg/services/object/internal/client/client.go b/pkg/services/object/internal/client/client.go index 27548862..e0a7e562 100644 --- a/pkg/services/object/internal/client/client.go +++ b/pkg/services/object/internal/client/client.go @@ -392,24 +392,14 @@ func PutObject(ctx context.Context, prm PutObjectPrm) (*PutObjectRes, error) { ctx, span := tracing.StartSpanFromContext(ctx, "client.PutObject") defer span.End() - var prmCli client.PrmObjectPutInit - - prmCli.MarkLocal() - - if prm.key != nil { - prmCli.UseKey(*prm.key) + prmCli := client.PrmObjectPutInit{ + XHeaders: prm.xHeaders, + BearerToken: prm.tokenBearer, + Session: prm.tokenSession, + Local: true, + Key: prm.key, } - if prm.tokenSession != nil { - prmCli.WithinSession(*prm.tokenSession) - } - - if prm.tokenBearer != nil { - prmCli.WithBearerToken(*prm.tokenBearer) - } - - prmCli.WithXHeaders(prm.xHeaders...) - w, err := prm.cli.ObjectPutInit(ctx, prmCli) if err != nil { return nil, fmt.Errorf("init object writing on client: %w", err) -- 2.40.1