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 {