Skip to content

chore(hub-e2e): restore parallel smoke-all workers (3)#384

Merged
gordonwoodhull merged 1 commit into
mainfrom
chore/restore-e2e-workers
Jul 8, 2026
Merged

chore(hub-e2e): restore parallel smoke-all workers (3)#384
gordonwoodhull merged 1 commit into
mainfrom
chore/restore-e2e-workers

Conversation

@gordonwoodhull

Copy link
Copy Markdown
Member

What

Restore parallelism in the nightly smoke-all E2E suite: default workers
13, with a SMOKE_ALL_WORKERS env / smoke-all-workers dispatch-input
override retained as a knob.

Why

The suite ran serially on the theory that the 75s-timeout flakiness came from
the WASM render pipeline stalling under CPU contention on a "2-core" runner.
That diagnosis was wrong on both counts:

Since #355 the nightly has been clean at workers: 1 for several consecutive
nights. Dispatch stress runs on this branch then confirmed the fix holds under
concurrent load:

run workers nproc result
28840734138 4 4 78 passed, 0 flaky (3.4m)
28871855320 3 4 78 passed, 0 flaky (3.4m)

vs the pre-#355 regime: 7–17 flaky per night, 14–30 min.

Choice of 3

Both 3 and 4 were clean and equally fast (~3.4m — the suite is I/O-bound at
this point, not core-starved). Landing on 3 reserves one core for the
co-resident hub + vite preview + node processes, keeping a robustness margin
over the 4-vCPU ceiling. Re-stress at 4 any time via
workflow_dispatch with smoke-all-workers=4.

Verification

  • Config resolves correctly: unset → 3, override 4 → 4.
  • Workflow YAML validated; smoke-all-workers input default 3.
  • The two CI runs above are the end-to-end evidence (real dispatch runs, not
    in-process tests).

Context: claude-notes/research/2026-07-03-e2e-reliability-experiment-log.md
(lead 2, samod-0.12).

The smoke-all suite ran serially (workers: 1) on the theory that the
75s-timeout flakiness came from the WASM render pipeline stalling under
CPU contention on a '2-core' runner. That diagnosis was wrong on both
counts: the public-repo ubuntu-latest runner has 4 vCPUs, and the real
cause was server-side sync contention — fixed by the samod-0.12 hub
upgrade (PR #355) on 2026-07-03.

Since #355 the nightly has been clean at workers: 1 for several
consecutive nights. Dispatch stress runs on this branch then confirmed
78/78 with zero flaky at both 3 and 4 workers (~3.4m, vs the serial
~4.8m), proving the fix holds under concurrent load:

  - run 28840734138 — 4 workers, nproc=4, 78 passed, 0 flaky (3.4m)
  - run 28871855320 — 3 workers, nproc=4, 78 passed, 0 flaky (3.4m)

Restore parallelism at 3 (reserves one core for the co-resident hub +
vite-preview + node). SMOKE_ALL_WORKERS + the smoke-all-workers dispatch
input remain as a knob to re-stress at 4 if flakiness ever returns.
@posit-snyk-bot

posit-snyk-bot commented Jul 8, 2026

Copy link
Copy Markdown

Snyk checks have passed. No issues have been found so far.

Status Scan Engine Critical High Medium Low Total (0)
Open Source Security 0 0 0 0 0 issues
Licenses 0 0 0 0 0 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

@gordonwoodhull gordonwoodhull merged commit 25345d5 into main Jul 8, 2026
8 checks passed
@gordonwoodhull gordonwoodhull deleted the chore/restore-e2e-workers branch July 8, 2026 06:19
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