diff --git a/cmd/neofs-node/object.go b/cmd/neofs-node/object.go index c51c48e0..bad8f619 100644 --- a/cmd/neofs-node/object.go +++ b/cmd/neofs-node/object.go @@ -343,7 +343,6 @@ func initObjectService(c *cfg) { headsvc.WithContainerSource(c.cfgObject.cnrStorage), headsvc.WithNetworkMapSource(c.cfgObject.netMapStorage), headsvc.WithLocalAddressSource(c), - headsvc.WithRightChildSearcher(searchsvc.NewRightChildSearcher(sSearch)), headsvc.WithWorkerPool(c.cfgObject.pool.head), headsvc.WithLogger(c.log), headsvc.WithClientOptions( diff --git a/pkg/services/object/delete/service.go b/pkg/services/object/delete/service.go index 5f812b29..c45ce504 100644 --- a/pkg/services/object/delete/service.go +++ b/pkg/services/object/delete/service.go @@ -133,11 +133,6 @@ func (s *Service) getRelations(ctx context.Context, prm *Prm) ([]*objectSDK.Addr id := hdr.ID() prev = hdr.PreviousID() - if rightChild := headResult.RightChild(); rightChild != nil { - id = rightChild.ID() - prev = rightChild.PreviousID() - } - addr.SetObjectID(id) res = append(res, addr) diff --git a/pkg/services/object/head/res.go b/pkg/services/object/head/res.go index cad3542b..b64144f5 100644 --- a/pkg/services/object/head/res.go +++ b/pkg/services/object/head/res.go @@ -5,13 +5,9 @@ import ( ) type Response struct { - hdr, rightChild *object.Object + hdr *object.Object } func (r *Response) Header() *object.Object { return r.hdr } - -func (r *Response) RightChild() *object.Object { - return r.rightChild -} diff --git a/pkg/services/object/head/service.go b/pkg/services/object/head/service.go index fc4a45c3..95ee00f6 100644 --- a/pkg/services/object/head/service.go +++ b/pkg/services/object/head/service.go @@ -36,8 +36,6 @@ type cfg struct { localAddrSrc network.LocalAddressSource - rightChildSearcher RelationSearcher - localHeader localHeader remoteHeader RemoteHeader @@ -67,37 +65,9 @@ func NewService(opts ...Option) *Service { } func (s *Service) Head(ctx context.Context, prm *Prm) (*Response, error) { - // try to receive header of physically stored - r, err := (&distributedHeader{ + return (&distributedHeader{ cfg: s.cfg, }).head(ctx, prm) - if err == nil || prm.common.LocalOnly() { - return r, err - } - - // try to find far right child that carries header of desired object - rightChildID, err := s.rightChildSearcher.SearchRelation(ctx, prm.addr, prm.common) - if err != nil { - return nil, errors.Wrapf(err, "(%T) could not find right child", s) - } - - addr := objectSDK.NewAddress() - addr.SetContainerID(prm.addr.ContainerID()) - addr.SetObjectID(rightChildID) - - r, err = s.Head(ctx, new(Prm).WithAddress(addr).WithCommonPrm(prm.common)) - if err != nil { - return nil, errors.Wrapf(err, "(%T) could not get right child header", s) - } - - rightChild := r.Header() - - // TODO: check if received parent has requested address - - return &Response{ - hdr: rightChild.GetParent(), - rightChild: rightChild, - }, nil } func WithKeyStorage(v *objutil.KeyStorage) Option { @@ -136,12 +106,6 @@ func WithLocalAddressSource(v network.LocalAddressSource) Option { } } -func WithRightChildSearcher(v RelationSearcher) Option { - return func(c *cfg) { - c.rightChildSearcher = v - } -} - func WithClientCache(v *cache.ClientCache) Option { return func(c *cfg) { c.remoteHeader.clientCache = v diff --git a/pkg/services/object/range/service.go b/pkg/services/object/range/service.go index 72f03118..d6b99155 100644 --- a/pkg/services/object/range/service.go +++ b/pkg/services/object/range/service.go @@ -88,12 +88,7 @@ func (s *Service) GetRange(ctx context.Context, prm *Prm) (*Result, error) { return nil, errors.Errorf("(%T) requested payload range is out-of-bounds", s) } - right := headResult.RightChild() - if right == nil { - right = origin - } - - rngTraverser := objutil.NewRangeTraverser(originSize, right, prm.rng) + rngTraverser := objutil.NewRangeTraverser(originSize, origin, prm.rng) if err := s.fillTraverser(ctx, prm, rngTraverser); err != nil { return nil, errors.Wrapf(err, "(%T) could not fill range traverser", s) } diff --git a/pkg/services/object/rangehash/service.go b/pkg/services/object/rangehash/service.go index c2dd9ef5..d600802e 100644 --- a/pkg/services/object/rangehash/service.go +++ b/pkg/services/object/rangehash/service.go @@ -103,16 +103,11 @@ func (s *Service) GetRangeHash(ctx context.Context, prm *Prm) (*Response, error) } } - right := headResult.RightChild() - if right == nil { - right = origin - } - borderRng := new(object.Range) borderRng.SetOffset(minLeft) borderRng.SetLength(maxRight - minLeft) - return s.getHashes(ctx, prm, objutil.NewRangeTraverser(originSize, right, borderRng)) + return s.getHashes(ctx, prm, objutil.NewRangeTraverser(originSize, origin, borderRng)) } func (s *Service) getHashes(ctx context.Context, prm *Prm, traverser *objutil.RangeTraverser) (*Response, error) {