@@ -2,6 +2,7 @@ package rtrefresh
22
33import (
44 "context"
5+ "errors"
56 "fmt"
67 "sync"
78 "sync/atomic"
@@ -16,7 +17,6 @@ import (
1617 "go.opentelemetry.io/otel/attribute"
1718 "go.opentelemetry.io/otel/codes"
1819 "go.opentelemetry.io/otel/trace"
19- "go.uber.org/multierr"
2020)
2121
2222var logger = logging .Logger ("dht/RtRefreshManager" )
@@ -241,10 +241,10 @@ func (r *RtRefreshManager) doRefresh(ctx context.Context, forceRefresh bool) err
241241 ctx , span := internal .StartSpan (ctx , "RefreshManager.doRefresh" )
242242 defer span .End ()
243243
244- var merr error
244+ var errs [] error
245245
246246 if err := r .queryForSelf (ctx ); err != nil {
247- merr = multierr . Append ( merr , err )
247+ errs = append ( errs , err )
248248 }
249249
250250 refreshCpls := r .rt .GetTrackedCplsForRefresh ()
@@ -261,7 +261,7 @@ func (r *RtRefreshManager) doRefresh(ctx context.Context, forceRefresh bool) err
261261 for c := range refreshCpls {
262262 cpl := uint (c )
263263 if err := rfnc (cpl ); err != nil {
264- merr = multierr . Append ( merr , err )
264+ errs = append ( errs , err )
265265 } else {
266266 // If we see a gap at a Cpl in the Routing table, we ONLY refresh up until the maximum cpl we
267267 // have in the Routing Table OR (2 * (Cpl+ 1) with the gap), whichever is smaller.
@@ -274,10 +274,10 @@ func (r *RtRefreshManager) doRefresh(ctx context.Context, forceRefresh bool) err
274274 lastCpl := min (2 * (c + 1 ), len (refreshCpls )- 1 )
275275 for i := c + 1 ; i < lastCpl + 1 ; i ++ {
276276 if err := rfnc (uint (i )); err != nil {
277- merr = multierr . Append ( merr , err )
277+ errs = append ( errs , err )
278278 }
279279 }
280- return merr
280+ return errors . Join ( errs ... )
281281 }
282282 }
283283 }
@@ -288,7 +288,7 @@ func (r *RtRefreshManager) doRefresh(ctx context.Context, forceRefresh bool) err
288288 return ctx .Err ()
289289 }
290290
291- return merr
291+ return errors . Join ( errs ... )
292292}
293293
294294func min (a int , b int ) int {
0 commit comments