Skip to content

Merge fix/sdk-7229-buildstop-resilience - #142

Merged
bsautomation merged 2 commits into
sdk_v9_pre_prodfrom
fix/sdk-7229-buildstop-resilience
Aug 13, 2026
Merged

Merge fix/sdk-7229-buildstop-resilience#142
bsautomation merged 2 commits into
sdk_v9_pre_prodfrom
fix/sdk-7229-buildstop-resilience

Conversation

@bsautomation

Copy link
Copy Markdown

Merge into sdk_v9_pre_prod :by automationbs

Bhargavi-BS and others added 2 commits August 13, 2026 09:24
…ps (SDK-7229)

The build-stop PUT is the only signal that closes a TRA build. SDK-7061 added a
3-attempt retry, but the whole window was ~1.5s (500ms + 1000ms) — shorter than a
typical corporate DNS/proxy blip — and the request carried no timeout at all, so a
connection that never settled could stall onComplete indefinitely.

On top of that, every failure was logged as a bare `TypeError: fetch failed`.
Node's fetch keeps the actionable detail (ENOTFOUND, ECONNRESET, proxy refusal) on
`error.cause`, which plain interpolation drops — so a failed build stop was
indistinguishable from any other network fault in a customer log.

- Widen the retry to STOP_BUILD_MAX_ATTEMPTS (4) with exponential backoff (1s/2s/4s),
  capped by a STOP_BUILD_TOTAL_BUDGET_MS (30s) wall-clock deadline. The deadline
  bounds the added shutdown cost regardless of attempt count.
- Bound each attempt with an AbortController (STOP_BUILD_ATTEMPT_TIMEOUT_MS, 10s,
  clamped to the remaining budget), and report an aborted attempt as a timeout
  rather than a generic AbortError.
- Add describeErrorWithCause() and use it on every build-stop failure log so the
  underlying transport reason is recorded.

Observed against the customer's exact failure mode (fetch rejecting with an
ENOTFOUND cause): 1 attempt before SDK-7061, 3 attempts / 1.5s on 9.33.1, and
4 attempts / 7.0s here — with the DNS cause now present in the log line.
@bsautomation
bsautomation requested a review from a team as a code owner August 13, 2026 15:01
@bsautomation
bsautomation requested review from anish353 and yashdsaraf and removed request for a team August 13, 2026 15:01
@bsautomation
bsautomation merged commit ee17d9d into sdk_v9_pre_prod Aug 13, 2026
16 of 18 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants