From 98c1c712d405764a409ca3df14072594438e6063 Mon Sep 17 00:00:00 2001 From: Robert Terhaar Date: Fri, 6 Feb 2026 00:43:53 -0500 Subject: [PATCH] small adjustment to the timer behavior in the httpcluster retry loop --- runnables/httpcluster/runner.go | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/runnables/httpcluster/runner.go b/runnables/httpcluster/runner.go index adbd4c8..9ef90d9 100644 --- a/runnables/httpcluster/runner.go +++ b/runnables/httpcluster/runner.go @@ -130,14 +130,17 @@ func (r *Runner) waitForIsRunning( ) bool { ctx, cancel := context.WithTimeout(ctx, timeout) defer cancel() - initialRetry := 5 * time.Millisecond + retryDelay := 5 * time.Millisecond maxRetry := 1 * time.Second + timer := time.NewTimer(retryDelay) + defer timer.Stop() + for { select { case <-ctx.Done(): return false - case <-time.After(initialRetry): + case <-timer.C: if server.IsRunning() { return true } @@ -147,8 +150,8 @@ func (r *Runner) waitForIsRunning( return false } - // Exponentially increase the backoff delay - initialRetry = min(time.Duration(float64(initialRetry)*1.5), maxRetry) + retryDelay = min(time.Duration(float64(retryDelay)*1.5), maxRetry) + timer.Reset(retryDelay) } } }