Skip to content

Run only the network-dependent Workers scenarios on the edge, at one date - #198

Merged
okomarov merged 1 commit into
mainfrom
test/edge-simplify
Oct 29, 2026
Merged

okomarov merged 1 commit into
mainfrom
test/edge-simplify

Conversation

@okomarov

Copy link
Copy Markdown

The edge job ran most of the local workerd suite a second time, against free-tier Neon and Supabase, at two compatibility dates, with timeouts sized for localhost. Almost every edge failure that wasn't a driver change came from those repeated scenarios, and each one got another workaround in the runner.

  • The edge keeps 14 scenarios that need Cloudflare's network: diagnostics-channel, ssl-verify, tls-private-ca, pooled, no-end, the six abort-* and the three hyperdrive*. arrays-*, timers, end-*, copy-out and subscribe run in local workerd only, at all four date/flag combinations.
  • One date on the edge, 2026-10-12. The older dates differ in close-time rejection timing, which the edge runner always tolerated anyway.
  • Reverts 7f0a439 (Neon wake request, fetch-failure retry); neither is needed once the localhost-timed scenarios leave the edge.
  • Removes the unused known-failures settings, the hyperdrive_rounds input and the date suffix on Preview names.

A before/after check (4 edge jobs each at 294aa4c and 7f0a439) stalled copy-out once on each side, so the stalls on main today are environmental, not from 7f0a439.

The old *-20250101 and *-20261012 Previews stay on the account until deleted by hand; nothing runs them.

…t one date

The edge job ran most of the local workerd suite a second time against
free-tier Neon and Supabase, at two compatibility dates, with timeouts
sized for localhost. Nearly every edge failure that was not a driver
change came from those repeated scenarios (Neon CONNECT_TIMEOUT while
its compute woke, copy-out stalls, the timeouts in the 2026-10-23
network incident), and each was answered with another runner workaround.

The edge now runs only what local workerd cannot show: diagnostics_channel
in the production runtime, verified TLS and SNI against Neon, the private
CA case, the poolers, the abort-* transactions, Hyperdrive and a client
left open. arrays, timers, end-*, copy-out and subscribe run locally only.

It runs at 2026-10-12 only. What the older dates change is close-time
rejection timing, which the edge runner always tolerated and local
workerd checks at every date, with and without the flag.

Also removes the Neon wake request and the fetch-failure retry (reverts
7f0a439): with arrays-* off the edge, the first Neon connection has a 10 s
or the default timeout, and a dropped runner fetch, once in about 400
jobs, is cheaper to re-run than to code around. A before/after run
(4 jobs each at 294aa4c and 7f0a439) stalled copy-out once on each side,
so that commit did not cause the stalls.

Drops the unused known-failures settings in both runners, the
hyperdrive_rounds input, and the date suffix on Preview names.
@okomarov
okomarov merged commit f76d137 into main Oct 29, 2026
17 of 18 checks passed
@okomarov
okomarov deleted the test/edge-simplify branch October 29, 2026 15:06
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.

1 participant