From edc6aa2f886be9f896d4900b3f30298022326827 Mon Sep 17 00:00:00 2001 From: Leonard Lyubich Date: Tue, 5 Jul 2022 15:47:21 +0300 Subject: [PATCH] [#572] Upgrade NeoFS SDK Go to v1.0.0-rc.5 Use `pool.SyncContainerWithNetwork` function to correctly compose new container in `neofs.NeoFS.CreateContainer`. Signed-off-by: Leonard Lyubich --- go.mod | 4 ++-- go.sum | 8 ++++---- internal/neofs/neofs.go | 27 +++------------------------ 3 files changed, 9 insertions(+), 30 deletions(-) diff --git a/go.mod b/go.mod index 04084d6a..f6639efd 100644 --- a/go.mod +++ b/go.mod @@ -9,8 +9,8 @@ require ( github.com/gorilla/mux v1.8.0 github.com/nats-io/nats.go v1.13.1-0.20220121202836-972a071d373d github.com/nspcc-dev/neo-go v0.98.2 - github.com/nspcc-dev/neofs-api-go/v2 v2.12.3-0.20220630100506-c6f7ab3ef1bf - github.com/nspcc-dev/neofs-sdk-go v1.0.0-rc.4.0.20220704082116-2ad89085a341 + github.com/nspcc-dev/neofs-api-go/v2 v2.13.0 + github.com/nspcc-dev/neofs-sdk-go v1.0.0-rc.5 github.com/prometheus/client_golang v1.11.0 github.com/spf13/pflag v1.0.5 github.com/spf13/viper v1.7.1 diff --git a/go.sum b/go.sum index 8344c099..d99af3ac 100644 --- a/go.sum +++ b/go.sum @@ -296,8 +296,8 @@ github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20220321113211-526c423a6152 h1:JK github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20220321113211-526c423a6152/go.mod h1:QBE0I30F2kOAISNpT5oks82yF4wkkUq3SCfI3Hqgx/Y= github.com/nspcc-dev/neofs-api-go/v2 v2.11.0-pre.0.20211201134523-3604d96f3fe1/go.mod h1:oS8dycEh8PPf2Jjp6+8dlwWyEv2Dy77h/XhhcdxYEFs= github.com/nspcc-dev/neofs-api-go/v2 v2.11.1/go.mod h1:oS8dycEh8PPf2Jjp6+8dlwWyEv2Dy77h/XhhcdxYEFs= -github.com/nspcc-dev/neofs-api-go/v2 v2.12.3-0.20220630100506-c6f7ab3ef1bf h1:QRPx+DdyN2KmJ5/oDYH4c86Bl81d1ZacQL5Q9IC9wZA= -github.com/nspcc-dev/neofs-api-go/v2 v2.12.3-0.20220630100506-c6f7ab3ef1bf/go.mod h1:73j09Xa7I2zQbM3HCvAHnDHPYiiWnEHa1d6Z6RDMBLU= +github.com/nspcc-dev/neofs-api-go/v2 v2.13.0 h1:7BcBiSjmWqJx0SPFlGRYt9ZFbMjucRIz9+Mv8UBLeq8= +github.com/nspcc-dev/neofs-api-go/v2 v2.13.0/go.mod h1:73j09Xa7I2zQbM3HCvAHnDHPYiiWnEHa1d6Z6RDMBLU= github.com/nspcc-dev/neofs-contract v0.15.1 h1:1r27t4SGKF7W1PRPOIfircEXHvALThNYNagT+SIabcA= github.com/nspcc-dev/neofs-contract v0.15.1/go.mod h1:kxO5ZTqdzFnRM5RMvM+Fhd+3GGrJo6AmG2ZyA9OCqqQ= github.com/nspcc-dev/neofs-crypto v0.2.0/go.mod h1:F/96fUzPM3wR+UGsPi3faVNmFlA9KAEAUQR7dMxZmNA= @@ -306,8 +306,8 @@ github.com/nspcc-dev/neofs-crypto v0.3.0 h1:zlr3pgoxuzrmGCxc5W8dGVfA9Rro8diFvVnB github.com/nspcc-dev/neofs-crypto v0.3.0/go.mod h1:8w16GEJbH6791ktVqHN9YRNH3s9BEEKYxGhlFnp0cDw= github.com/nspcc-dev/neofs-sdk-go v0.0.0-20211201182451-a5b61c4f6477/go.mod h1:dfMtQWmBHYpl9Dez23TGtIUKiFvCIxUZq/CkSIhEpz4= github.com/nspcc-dev/neofs-sdk-go v0.0.0-20220113123743-7f3162110659/go.mod h1:/jay1lr3w7NQd/VDBkEhkJmDmyPNsu4W+QV2obsUV40= -github.com/nspcc-dev/neofs-sdk-go v1.0.0-rc.4.0.20220704082116-2ad89085a341 h1:poXrrTjCClTMUpEZ7xlQ3Pk4+vtLH+EqaTduBmn+Z9Y= -github.com/nspcc-dev/neofs-sdk-go v1.0.0-rc.4.0.20220704082116-2ad89085a341/go.mod h1:ck/wjPGFZ7mqcz6vZLMuQFEfL1Qu5zVrBrBJrH0VjOo= +github.com/nspcc-dev/neofs-sdk-go v1.0.0-rc.5 h1:PSUUUL0XloTQdAgaI0WIY54TsqQ0GpxehHC7FaTkHvI= +github.com/nspcc-dev/neofs-sdk-go v1.0.0-rc.5/go.mod h1:hP3HrbK8omERJZvwjsGZgvzsUDxsPDPemrHzgqfpADM= github.com/nspcc-dev/rfc6979 v0.1.0/go.mod h1:exhIh1PdpDC5vQmyEsGvc4YDM/lyQp/452QxGq/UEso= github.com/nspcc-dev/rfc6979 v0.2.0 h1:3e1WNxrN60/6N0DW7+UYisLeZJyfqZTNOjeV/toYvOE= github.com/nspcc-dev/rfc6979 v0.2.0/go.mod h1:exhIh1PdpDC5vQmyEsGvc4YDM/lyQp/452QxGq/UEso= diff --git a/internal/neofs/neofs.go b/internal/neofs/neofs.go index dffa0ebd..4977417c 100644 --- a/internal/neofs/neofs.go +++ b/internal/neofs/neofs.go @@ -10,7 +10,6 @@ import ( "strconv" "time" - "github.com/nspcc-dev/neo-go/pkg/vm/stackitem" objectv2 "github.com/nspcc-dev/neofs-api-go/v2/object" "github.com/nspcc-dev/neofs-s3-gw/api/layer" "github.com/nspcc-dev/neofs-s3-gw/authmate" @@ -131,13 +130,9 @@ func (x *NeoFS) CreateContainer(ctx context.Context, prm layer.PrmContainerCreat cnr.SetAttribute(prm.AdditionalAttributes[i][0], prm.AdditionalAttributes[i][1]) } - // https://github.com/nspcc-dev/neofs-s3-gw/issues/435 - // environment without hh disabling feature will ignore this attribute - // environment with hh disabling feature will set disabling = true if network config says so - if hhDisabled, err := isHomomorphicHashDisabled(ctx, x.pool); err != nil { - return nil, fmt.Errorf("check homomorphic hash enabled: %w", err) - } else if hhDisabled { - container.DisableHomomorphicHashing(&cnr) + err := pool.SyncContainerWithNetwork(ctx, &cnr, x.pool) + if err != nil { + return nil, fmt.Errorf("sync container with the network state: %w", err) } var prmPut pool.PrmContainerPut @@ -575,19 +570,3 @@ func (x *AuthmateNeoFS) CreateObject(ctx context.Context, prm tokens.PrmObjectCr Payload: bytes.NewReader(prm.Payload), }) } - -func isHomomorphicHashDisabled(ctx context.Context, p *pool.Pool) (bool, error) { - ni, err := p.NetworkInfo(ctx) - if err != nil { - return false, fmt.Errorf("network info: %w", err) - } - - // FIXME(@cthulhu-rider): parameter format hasn't been fixed in the protocol yet, - // use decoding provided by SDK after neofs-api#214 support. - rawPrm := ni.RawNetworkParameter("HomomorphicHashingDisabled") - if rawPrm != nil { - return stackitem.NewByteArray(rawPrm).TryBool() - } - - return false, nil -}