diff --git a/driver/kubernetes/driver.go b/driver/kubernetes/driver.go index 2f76e0d0365b..b33588293131 100644 --- a/driver/kubernetes/driver.go +++ b/driver/kubernetes/driver.go @@ -4,6 +4,7 @@ import ( "context" stderrors "errors" "fmt" + "math/rand" "net" "strings" "syscall" @@ -389,9 +390,20 @@ func isTransientConnectionError(err error) bool { return false } -// calculateBackoff calculates the delay for the given attempt with exponential backoff. +// calculateBackoff returns a randomized exponential backoff delay for attempt, +// never exceeding maxDelay. func calculateBackoff(attempt int, baseDelay, maxDelay time.Duration) time.Duration { - return min(time.Duration(1<