Skip to content

Commit 6c615be

Browse files
committed
refactor(webapp,core): scope resume-retry fix to the server route
Drop the worker HTTP-client retry tuning and keep only the continue route change, so the fix is server-only. Swap the package changeset for a .server-changes entry.
1 parent 81ffb3f commit 6c615be

4 files changed

Lines changed: 6 additions & 34 deletions

File tree

.changeset/resume-retry-transient-db.md

Lines changed: 0 additions & 5 deletions
This file was deleted.
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
area: webapp
3+
type: fix
4+
---
5+
6+
Runs resuming after a wait no longer fail with TASK_EXECUTION_ABORTED when the database is briefly unreachable; the resume endpoint returns a retryable response for transient infrastructure errors instead of a permanent one.

packages/core/src/v3/runEngineWorker/supervisor/http.ts

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -245,21 +245,6 @@ export class SupervisorHttpClient {
245245
...this.defaultHeaders,
246246
...this.runnerIdHeader(runnerId),
247247
},
248-
},
249-
{
250-
// This is the hop that reaches the engine, so it's where a transient
251-
// database outage during resume surfaces (as a retryable 5xx). Resuming
252-
// is idempotent server-side (guarded by the snapshot id), so retry
253-
// generously to ride out the outage rather than aborting the run.
254-
// `randomize` jitters the delay so a fleet of runs resuming at once
255-
// doesn't stampede the DB the moment it recovers.
256-
retry: {
257-
minTimeoutInMs: 500,
258-
maxTimeoutInMs: 10_000,
259-
maxAttempts: 8,
260-
factor: 2,
261-
randomize: true,
262-
},
263248
}
264249
);
265250
}

packages/core/src/v3/runEngineWorker/workload/http.ts

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -132,20 +132,6 @@ export class WorkloadHttpClient {
132132
headers: {
133133
...this.defaultHeaders(),
134134
},
135-
},
136-
{
137-
// This hop only reaches the supervisor's workload server, so retry
138-
// generously with jittered backoff to ride out a transient blip
139-
// talking to the supervisor (e.g. a restart) rather than aborting the
140-
// run. Database outages surface one hop further in, on the
141-
// supervisor-to-engine call, which carries its own retry for them.
142-
retry: {
143-
minTimeoutInMs: 500,
144-
maxTimeoutInMs: 10_000,
145-
maxAttempts: 8,
146-
factor: 2,
147-
randomize: true,
148-
},
149135
}
150136
)
151137
);

0 commit comments

Comments
 (0)