From 63a32e360b333ac1fb38df0139b0b55d9fad85fa Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Sat, 18 Jul 2026 16:07:35 +0100 Subject: [PATCH] fix(qa): stop retries after overall health deadline (#110753) --- src/plugin-sdk/qa-runtime.ts | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/plugin-sdk/qa-runtime.ts b/src/plugin-sdk/qa-runtime.ts index 54877791cb0a..e2255ff08a17 100644 --- a/src/plugin-sdk/qa-runtime.ts +++ b/src/plugin-sdk/qa-runtime.ts @@ -568,11 +568,14 @@ export function createQaDockerRuntime(params: { break; } let response: QaDockerFetchResponse | undefined; + const requestTimeoutMs = Math.max( + 1, + Math.min(DEFAULT_QA_DOCKER_HEALTH_REQUEST_TIMEOUT_MS, remainingMs), + ); + const requestSignal = AbortSignal.timeout(requestTimeoutMs); try { response = await deps.fetchImpl(url, { - signal: AbortSignal.timeout( - Math.max(1, Math.min(DEFAULT_QA_DOCKER_HEALTH_REQUEST_TIMEOUT_MS, remainingMs)), - ), + signal: requestSignal, }); if (response.ok) { return; @@ -580,6 +583,9 @@ export function createQaDockerRuntime(params: { lastError = new Error(`Health check returned non-OK for ${url}`); } catch (error) { lastError = error; + if (requestSignal.aborted && requestTimeoutMs === remainingMs) { + break; + } } finally { await releaseQaDockerFetchResponse(response); }