From 0beb7ccf5c164241fdaf71eebb646503c6c4620d Mon Sep 17 00:00:00 2001 From: Pavel Karpy Date: Tue, 11 Apr 2023 21:01:00 +0300 Subject: [PATCH] [#284] node: Use `copy_number` on server side Signed-off-by: Pavel Karpy --- CHANGELOG.md | 2 ++ pkg/services/object/put/prm.go | 8 ++++++++ pkg/services/object/put/v2/util.go | 3 ++- 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b4d6e7ca0..19449efdd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,8 @@ Changelog for FrostFS Node ### Added ### Changed ### Fixed +- Copy number was not used for `PUT` requests (#284) + ### Removed ### Updated ### Updating from v0.36.0 diff --git a/pkg/services/object/put/prm.go b/pkg/services/object/put/prm.go index aea5926f4..5c305df3b 100644 --- a/pkg/services/object/put/prm.go +++ b/pkg/services/object/put/prm.go @@ -40,6 +40,14 @@ func (p *PutInitPrm) WithObject(v *object.Object) *PutInitPrm { return p } +func (p *PutInitPrm) WithCopyNumber(v uint32) *PutInitPrm { + if p != nil { + p.traverseOpts = append(p.traverseOpts, placement.SuccessAfter(v)) + } + + return p +} + func (p *PutInitPrm) WithRelay(f func(client.NodeInfo, client.MultiAddressClient) error) *PutInitPrm { if p != nil { p.relay = f diff --git a/pkg/services/object/put/v2/util.go b/pkg/services/object/put/v2/util.go index 790f061f1..d0fa6f88d 100644 --- a/pkg/services/object/put/v2/util.go +++ b/pkg/services/object/put/v2/util.go @@ -24,7 +24,8 @@ func (s *streamer) toInitPrm(part *objectV2.PutObjectPartInit, req *objectV2.Put object.NewFromV2(oV2), ). WithRelay(s.relayRequest). - WithCommonPrm(commonPrm), nil + WithCommonPrm(commonPrm). + WithCopyNumber(part.GetCopiesNumber()), nil } func toChunkPrm(req *objectV2.PutObjectPartChunk) *putsvc.PutChunkPrm {