From 3d43b0f7f93d88aa5e985385a684019cb69f30c5 Mon Sep 17 00:00:00 2001 From: Dmitrii Stepanov Date: Tue, 18 Apr 2023 12:04:59 +0300 Subject: [PATCH] [#265] node: Fix after SDK & API-Go version up Signed-off-by: Dmitrii Stepanov --- cmd/frostfs-cli/internal/client/sdk.go | 8 ++++---- cmd/frostfs-cli/modules/session/create.go | 2 +- pkg/core/client/client.go | 2 +- pkg/network/cache/multi.go | 14 +++++++------- pkg/services/object/get/v2/get_forwarder.go | 2 +- pkg/services/object/get/v2/get_range_forwarder.go | 2 +- pkg/services/object/get/v2/head_forwarder.go | 2 +- pkg/services/object/put/v2/streamer.go | 2 +- pkg/services/object/search/v2/request_forwarder.go | 2 +- 9 files changed, 18 insertions(+), 18 deletions(-) diff --git a/cmd/frostfs-cli/internal/client/sdk.go b/cmd/frostfs-cli/internal/client/sdk.go index 4cf0b0a34..13dacc04c 100644 --- a/cmd/frostfs-cli/internal/client/sdk.go +++ b/cmd/frostfs-cli/internal/client/sdk.go @@ -36,11 +36,11 @@ func getSDKClientByFlag(cmd *cobra.Command, key *ecdsa.PrivateKey, endpointFlag if err != nil { return nil, fmt.Errorf("%v: %w", errInvalidEndpoint, err) } - return GetSDKClient(cmd, key, addr) + return GetSDKClient(cmd.Context(), cmd, key, addr) } // GetSDKClient returns default frostfs-sdk-go client. -func GetSDKClient(cmd *cobra.Command, key *ecdsa.PrivateKey, addr network.Address) (*client.Client, error) { +func GetSDKClient(ctx context.Context, cmd *cobra.Command, key *ecdsa.PrivateKey, addr network.Address) (*client.Client, error) { var ( c client.Client prmInit client.PrmInit @@ -62,7 +62,7 @@ func GetSDKClient(cmd *cobra.Command, key *ecdsa.PrivateKey, addr network.Addres c.Init(prmInit) - if err := c.Dial(prmDial); err != nil { + if err := c.Dial(ctx, prmDial); err != nil { return nil, fmt.Errorf("can't init SDK client: %w", err) } @@ -82,7 +82,7 @@ func GetCurrentEpoch(ctx context.Context, cmd *cobra.Command, endpoint string) ( return 0, fmt.Errorf("can't generate key to sign query: %w", err) } - c, err := GetSDKClient(cmd, key, addr) + c, err := GetSDKClient(ctx, cmd, key, addr) if err != nil { return 0, err } diff --git a/cmd/frostfs-cli/modules/session/create.go b/cmd/frostfs-cli/modules/session/create.go index e1c951b93..341681f5b 100644 --- a/cmd/frostfs-cli/modules/session/create.go +++ b/cmd/frostfs-cli/modules/session/create.go @@ -54,7 +54,7 @@ func createSession(cmd *cobra.Command, _ []string) { addrStr, _ := cmd.Flags().GetString(commonflags.RPC) commonCmd.ExitOnErr(cmd, "can't parse endpoint: %w", netAddr.FromString(addrStr)) - c, err := internalclient.GetSDKClient(cmd, privKey, netAddr) + c, err := internalclient.GetSDKClient(cmd.Context(), cmd, privKey, netAddr) commonCmd.ExitOnErr(cmd, "can't create client: %w", err) lifetime := uint64(defaultLifetime) diff --git a/pkg/core/client/client.go b/pkg/core/client/client.go index 98e9d6367..bd186006e 100644 --- a/pkg/core/client/client.go +++ b/pkg/core/client/client.go @@ -30,7 +30,7 @@ type MultiAddressClient interface { // RawForAddress must return rawclient.Client // for the passed network.Address. - RawForAddress(network.Address, func(cli *rawclient.Client) error) error + RawForAddress(context.Context, network.Address, func(cli *rawclient.Client) error) error ReportError(error) } diff --git a/pkg/network/cache/multi.go b/pkg/network/cache/multi.go index 2f698912c..b1afaa90d 100644 --- a/pkg/network/cache/multi.go +++ b/pkg/network/cache/multi.go @@ -47,7 +47,7 @@ func newMultiClient(addr network.AddressGroup, opts ClientCacheOpts) *multiClien } } -func (x *multiClient) createForAddress(addr network.Address) (clientcore.Client, error) { +func (x *multiClient) createForAddress(ctx context.Context, addr network.Address) (clientcore.Client, error) { var ( c client.Client prmInit client.PrmInit @@ -73,7 +73,7 @@ func (x *multiClient) createForAddress(addr network.Address) (clientcore.Client, } c.Init(prmInit) - err := c.Dial(prmDial) + err := c.Dial(ctx, prmDial) if err != nil { return nil, fmt.Errorf("can't init SDK client: %w", err) } @@ -144,7 +144,7 @@ func (x *multiClient) iterateClients(ctx context.Context, f func(clientcore.Clie var err error - c, err := x.client(addr) + c, err := x.client(ctx, addr) if err == nil { err = f(c) } @@ -297,8 +297,8 @@ func (x *multiClient) Close() error { return nil } -func (x *multiClient) RawForAddress(addr network.Address, f func(client *rawclient.Client) error) error { - c, err := x.client(addr) +func (x *multiClient) RawForAddress(ctx context.Context, addr network.Address, f func(client *rawclient.Client) error) error { + c, err := x.client(ctx, addr) if err != nil { return err } @@ -310,7 +310,7 @@ func (x *multiClient) RawForAddress(addr network.Address, f func(client *rawclie return err } -func (x *multiClient) client(addr network.Address) (clientcore.Client, error) { +func (x *multiClient) client(ctx context.Context, addr network.Address) (clientcore.Client, error) { strAddr := addr.String() x.mtx.RLock() @@ -351,7 +351,7 @@ func (x *multiClient) client(addr network.Address) (clientcore.Client, error) { return nil, errRecentlyFailed } - cl, err := x.createForAddress(addr) + cl, err := x.createForAddress(ctx, addr) if err != nil { c.lastAttempt = time.Now() return nil, err diff --git a/pkg/services/object/get/v2/get_forwarder.go b/pkg/services/object/get/v2/get_forwarder.go index 8163ae928..3677327c0 100644 --- a/pkg/services/object/get/v2/get_forwarder.go +++ b/pkg/services/object/get/v2/get_forwarder.go @@ -99,7 +99,7 @@ func (f *getRequestForwarder) writeHeader(ctx context.Context, v *objectV2.GetOb func (f *getRequestForwarder) openStream(ctx context.Context, addr network.Address, c client.MultiAddressClient) (*rpc.GetResponseReader, error) { var getStream *rpc.GetResponseReader - err := c.RawForAddress(addr, func(cli *rpcclient.Client) error { + err := c.RawForAddress(ctx, addr, func(cli *rpcclient.Client) error { var e error getStream, e = rpc.GetObject(cli, f.Request, rpcclient.WithContext(ctx)) return e diff --git a/pkg/services/object/get/v2/get_range_forwarder.go b/pkg/services/object/get/v2/get_range_forwarder.go index 9cf6384ed..06b65fb50 100644 --- a/pkg/services/object/get/v2/get_range_forwarder.go +++ b/pkg/services/object/get/v2/get_range_forwarder.go @@ -85,7 +85,7 @@ func (f *getRangeRequestForwarder) verifyResponse(resp *objectV2.GetRangeRespons func (f *getRangeRequestForwarder) openStream(ctx context.Context, addr network.Address, c client.MultiAddressClient) (*rpc.ObjectRangeResponseReader, error) { // open stream var rangeStream *rpc.ObjectRangeResponseReader - err := c.RawForAddress(addr, func(cli *rpcclient.Client) error { + err := c.RawForAddress(ctx, addr, func(cli *rpcclient.Client) error { var e error rangeStream, e = rpc.GetObjectRange(cli, f.Request, rpcclient.WithContext(ctx)) return e diff --git a/pkg/services/object/get/v2/head_forwarder.go b/pkg/services/object/get/v2/head_forwarder.go index e1d4c02db..f02ef81bb 100644 --- a/pkg/services/object/get/v2/head_forwarder.go +++ b/pkg/services/object/get/v2/head_forwarder.go @@ -154,7 +154,7 @@ func (f *headRequestForwarder) getHeaderAndSignature(hdrWithSig *objectV2.Header func (f *headRequestForwarder) sendHeadRequest(ctx context.Context, addr network.Address, c client.MultiAddressClient) (*objectV2.HeadResponse, error) { var headResp *objectV2.HeadResponse - err := c.RawForAddress(addr, func(cli *rpcclient.Client) error { + err := c.RawForAddress(ctx, addr, func(cli *rpcclient.Client) error { var e error headResp, e = rpc.HeadObject(cli, f.Request, rpcclient.WithContext(ctx)) return e diff --git a/pkg/services/object/put/v2/streamer.go b/pkg/services/object/put/v2/streamer.go index f7a97a955..65531dc66 100644 --- a/pkg/services/object/put/v2/streamer.go +++ b/pkg/services/object/put/v2/streamer.go @@ -161,7 +161,7 @@ func (s *streamer) relayRequest(ctx context.Context, info client.NodeInfo, c cli var stream *rpc.PutRequestWriter - err = c.RawForAddress(addr, func(cli *rawclient.Client) error { + err = c.RawForAddress(ctx, addr, func(cli *rawclient.Client) error { stream, err = rpc.PutObject(cli, resp, rawclient.WithContext(ctx)) return err }) diff --git a/pkg/services/object/search/v2/request_forwarder.go b/pkg/services/object/search/v2/request_forwarder.go index 8023f2f0f..d8719986f 100644 --- a/pkg/services/object/search/v2/request_forwarder.go +++ b/pkg/services/object/search/v2/request_forwarder.go @@ -46,7 +46,7 @@ func (f *requestForwarder) forwardRequest(ctx context.Context, addr network.Addr } var searchStream *rpc.SearchResponseReader - err = c.RawForAddress(addr, func(cli *rpcclient.Client) error { + err = c.RawForAddress(ctx, addr, func(cli *rpcclient.Client) error { searchStream, err = rpc.SearchObjects(cli, f.Request, rpcclient.WithContext(ctx)) return err })