forked from TrueCloudLab/frostfs-node
[#1219] object/put: Support additional container broadcast
There are several cases when we need to spread the object around the container after its primary placement (e.g. objects of type TOMBSTONE). It'd be convenient to support this feature in `putsvc.Service`. Add additional stage of container broadcast after the object is stored. This stage is carried out no more than once and does not affect the outcome of the main PUT operation. Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
This commit is contained in:
parent
0bf59522f7
commit
a55af18ad1
2 changed files with 78 additions and 6 deletions
|
@ -161,9 +161,11 @@ func (p *Streamer) newCommonTarget(prm *PutInitPrm) transformer.ObjectTarget {
|
|||
}
|
||||
|
||||
return &distributedTarget{
|
||||
traverseOpts: prm.traverseOpts,
|
||||
remotePool: p.remotePool,
|
||||
localPool: p.localPool,
|
||||
traversal: traversal{
|
||||
opts: prm.traverseOpts,
|
||||
},
|
||||
remotePool: p.remotePool,
|
||||
localPool: p.localPool,
|
||||
nodeTargetInitializer: func(node nodeDesc) transformer.ObjectTarget {
|
||||
if node.local {
|
||||
return &localTarget{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue