From 901d62567ded012dac9e50cc796eea106e1ab166 Mon Sep 17 00:00:00 2001 From: Pavel Karpy Date: Thu, 16 Feb 2023 15:33:33 +0300 Subject: [PATCH] [#57] node: Broadcast link objects It boosts object assembling by an _average_ container node. Signed-off-by: Pavel Karpy --- CHANGELOG.md | 1 + pkg/services/object/put/distributed.go | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index cc2843ade..9821edbd0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,7 @@ Changelog for FrostFS Node ### Changed - `common.PrintVerbose` prints via `cobra.Command.Printf` (#1962) - Env prefix in configuration changed to `FROSTFS_*` (#43) +- Link object is broadcast throughout the whole container now (#57) ### Fixed - Increase payload size metric on shards' `put` operation (#1794) diff --git a/pkg/services/object/put/distributed.go b/pkg/services/object/put/distributed.go index 4c3220acf..40a42a33a 100644 --- a/pkg/services/object/put/distributed.go +++ b/pkg/services/object/put/distributed.go @@ -141,6 +141,11 @@ func (t *distributedTarget) Close() (*transformer.AccessIdentifiers, error) { return nil, fmt.Errorf("(%T) could not validate payload content: %w", t, err) } + if len(t.obj.Children()) > 0 { + // enabling extra broadcast for linking objects + t.traversal.extraBroadcastEnabled = true + } + return t.iteratePlacement(t.sendObject) }