From 28b1af8f636a5de7eaa5b1bfa795bbb9729f2679 Mon Sep 17 00:00:00 2001 From: Daniel Hall Date: Wed, 15 Apr 2026 15:13:07 +1000 Subject: [PATCH] Fix retryer exponential backoff using XOR instead of exponentiation In Go, ^ is the XOR operator, not exponentiation. The expression 2^attempts produced incorrect sleep durations (2s, 3s, 0s, 1s) instead of the intended exponential backoff (1s, 2s, 4s, 8s). Use bit shift (1< Co-Authored-By: Claude Opus 4.6 --- pkg/common/providers/ocmprovider/retryer.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/common/providers/ocmprovider/retryer.go b/pkg/common/providers/ocmprovider/retryer.go index 167adf25147..762e044ad62 100644 --- a/pkg/common/providers/ocmprovider/retryer.go +++ b/pkg/common/providers/ocmprovider/retryer.go @@ -18,7 +18,7 @@ var ( func retryer() *retry.Retryer { ocmOnce.Do(func() { ocmRetryer = retry.New(retry.SleepFn(func(attempts int) { - time.Sleep(time.Duration(2^attempts) * time.Second) + time.Sleep(time.Duration(1<