From 8ed620b64f3961d6ea8f2c32bae3c6de77e15e40 Mon Sep 17 00:00:00 2001 From: Evgenii Stratonikov Date: Sat, 5 Apr 2025 08:40:41 +0300 Subject: [PATCH 1/2] [#353] pool: Remove deprecated IterateNetworkEndpoints() Signed-off-by: Evgenii Stratonikov --- pool/tree/pool.go | 24 +++++++----------------- 1 file changed, 7 insertions(+), 17 deletions(-) diff --git a/pool/tree/pool.go b/pool/tree/pool.go index dda74c1..dd5d826 100644 --- a/pool/tree/pool.go +++ b/pool/tree/pool.go @@ -1081,20 +1081,15 @@ func (p *Pool) deleteClientFromMap(hash uint64) { } func (p *Pool) getNewTreeClient(ctx context.Context, node netmap.NodeInfo) (*treeClient, error) { - var ( - treeCl *treeClient - err error - ) - - node.IterateNetworkEndpoints(func(endpoint string) bool { + for endpoint := range node.NetworkEndpoints() { var addr network.Address - if err = addr.FromString(endpoint); err != nil { + if err := addr.FromString(endpoint); err != nil { p.log(zap.WarnLevel, "can't parse endpoint", zap.String("endpoint", endpoint), zap.Error(err)) - return false + continue } newTreeCl := newTreeClient(addr.URIAddr(), p.dialOptions, p.nodeDialTimeout, p.streamTimeout) - if err = newTreeCl.dial(ctx); err != nil { + if err := newTreeCl.dial(ctx); err != nil { p.log(zap.WarnLevel, "failed to dial tree client", zap.Error(err)) // We have to close connection here after failed `dial()`. @@ -1106,18 +1101,13 @@ func (p *Pool) getNewTreeClient(ctx context.Context, node netmap.NodeInfo) (*tre p.log(zap.WarnLevel, "failed to close recently dialed tree client", zap.Error(err)) } - return false + continue } - treeCl = newTreeCl - return true - }) - - if treeCl == nil { - return nil, fmt.Errorf("tree client wasn't initialized") + return newTreeCl, nil } - return treeCl, nil + return nil, fmt.Errorf("tree client wasn't initialized") } func shouldTryAgain(err error) bool { -- 2.45.3 From dc73e1a2ebf45c7ad6aff74e3e4dbda2091fbc13 Mon Sep 17 00:00:00 2001 From: Evgenii Stratonikov Date: Sat, 5 Apr 2025 08:03:56 +0300 Subject: [PATCH 2/2] [#353] Format deprecated notices properly They should be in a separate paragraph, otherwise they are not recognized. Signed-off-by: Evgenii Stratonikov --- api/netmap/types.go | 1 + netmap/node_info.go | 3 +++ 2 files changed, 4 insertions(+) diff --git a/api/netmap/types.go b/api/netmap/types.go index 9d9fa09..6dfe676 100644 --- a/api/netmap/types.go +++ b/api/netmap/types.go @@ -439,6 +439,7 @@ func (ni NodeInfo) Addresses() iter.Seq[string] { // Breaks iteration on f's true return. // // Handler should not be nil. +// // Deprecated: use [NodeInfo.Addresses] instead. func (ni *NodeInfo) IterateAddresses(f func(string) bool) { if ni != nil { diff --git a/netmap/node_info.go b/netmap/node_info.go index acbfaee..22683e5 100644 --- a/netmap/node_info.go +++ b/netmap/node_info.go @@ -201,6 +201,7 @@ func (x NodeInfo) NumberOfNetworkEndpoints() int { // FrostFS system requirements. // // See also SetNetworkEndpoints. +// // Deprecated: use [NodeInfo.NetworkEndpoints] instead. func (x NodeInfo) IterateNetworkEndpoints(f func(string) bool) { for s := range x.NetworkEndpoints() { @@ -220,6 +221,7 @@ func (x NodeInfo) NetworkEndpoints() iter.Seq[string] { // IterateNetworkEndpoints is an extra-sugared function over IterateNetworkEndpoints // method which allows to unconditionally iterate over all node's network endpoints. +// // Deprecated: use [NodeInfo.NetworkEndpoints] instead. func IterateNetworkEndpoints(node NodeInfo, f func(string)) { node.IterateNetworkEndpoints(func(addr string) bool { @@ -422,6 +424,7 @@ func (x NodeInfo) Attributes() iter.Seq2[string, string] { // IterateAttributes iterates over all node attributes and passes the into f. // Handler MUST NOT be nil. +// // Deprecated: use [NodeInfo.Attributes] instead. func (x NodeInfo) IterateAttributes(f func(key, value string)) { a := x.m.GetAttributes() -- 2.45.3