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)
}