From ebf68d27243f97a2417283f70f0887477825a5f2 Mon Sep 17 00:00:00 2001 From: Nick Humrich Date: Mon, 7 Jul 2025 15:29:48 -0600 Subject: [PATCH] Proper exponential backoff with jitter This commit turns the default backoff method into a true exponential backoff algorithm, where we introduce jitter in order to reduce the thundering-herds problem. --- packages/query-core/src/retryer.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/query-core/src/retryer.ts b/packages/query-core/src/retryer.ts index baa93aa5b4..7cdf75e154 100644 --- a/packages/query-core/src/retryer.ts +++ b/packages/query-core/src/retryer.ts @@ -46,7 +46,7 @@ type RetryDelayFunction = ( ) => number function defaultRetryDelay(failureCount: number) { - return Math.min(1000 * 2 ** failureCount, 30000) + return Math.floor(Math.random() * (Math.min(1000 * 2 ** failureCount, 30000) - 10 + 1)) + 10 } export function canFetch(networkMode: NetworkMode | undefined): boolean {