From cfe2546b0db15da0af958ba4e0d27f1a7bcebc66 Mon Sep 17 00:00:00 2001 From: godchen Date: Thu, 21 Oct 2021 12:20:35 +0800 Subject: [PATCH] Fix retry error missed (#10318) Signed-off-by: godchen --- internal/util/retry/retry.go | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/internal/util/retry/retry.go b/internal/util/retry/retry.go index 32dcb504c9..98e4d979cf 100644 --- a/internal/util/retry/retry.go +++ b/internal/util/retry/retry.go @@ -32,15 +32,18 @@ func Do(ctx context.Context, fn func() error, opts ...Option) error { for i := uint(0); i < c.attempts; i++ { if err := fn(); err != nil { - if ok := IsUncoverable(err); ok { - return err - } + el = append(el, err) + if ok := IsUncoverable(err); ok { + return el + } + select { case <-time.After(c.sleep): case <-ctx.Done(): - return ctx.Err() + el = append(el, ctx.Err()) + return el } c.sleep *= 2