Skip to content

fix(cloudflare): tolerate staged cache propagation - #3189

Draft
james-elicx wants to merge 2 commits into
mainfrom
codex/fix-cdn-warm-propagation
Draft

fix(cloudflare): tolerate staged cache propagation#3189
james-elicx wants to merge 2 commits into
mainfrom
codex/fix-cdn-warm-propagation

Conversation

@james-elicx

@james-elicx james-elicx commented Sep 7, 2026

Copy link
Copy Markdown
Member

Summary

  • keep retrying a staged warm request until every independently routed build identity matches
  • preserve the existing 60-retry default and explicit --warm-cdn-retries behavior
  • retain immediate failure for deterministic validation errors once all stages match

Evidence

The first production deploy after the multi-entrypoint rollout passed probe/readiness, then reached a mixed propagation state where the outer Worker matched while RSC responses still came from the prior stage: https://github.com/cloudflare/vinext/actions/runs/34160828052/job/101863108294

The previous logic stopped retrying as soon as either identity matched. The identical main SHA later warmed all 6/6 entries and promoted successfully once the response stage converged.

Validation

  • vp check packages/cloudflare/src/cdn-warm.ts tests/cloudflare-cdn-warm.test.ts tests/cloudflare-cdn-warm-deploy.test.ts
  • vp test run tests/cloudflare-cdn-warm.test.ts tests/cloudflare-cdn-warm-deploy.test.ts (130 passed)

@pkg-pr-new

pkg-pr-new Bot commented Sep 7, 2026

Copy link
Copy Markdown

Open in StackBlitz

npm i https://pkg.pr.new/@vinext/cloudflare@3189
npm i https://pkg.pr.new/create-vinext-app@3189
npm i https://pkg.pr.new/@vinext/types@3189
npm i https://pkg.pr.new/vinext@3189

commit: 554adcd

@james-elicx

Copy link
Copy Markdown
Member Author

/bigbonk review for issues

Please complete this review within 8 minutes. Review exact head 554adcd and report only actionable in-scope findings. Focus on the mixed outer/RSC build-identity propagation seen in main run 34160828052.

@ask-bonk

ask-bonk Bot commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

LGTM!

github run

@github-actions

github-actions Bot commented Sep 7, 2026

Copy link
Copy Markdown
Contributor
Example Preview Production Original
app-router-cloudflare preview production
pages-router-cloudflare preview production
app-router-playground preview production original
realworld-api-rest preview production
nextra-docs-template preview production
benchmarks preview production
hackernews preview production original
workers-cache preview production
static-export preview production
web preview production

@github-actions

github-actions Bot commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

Performance benchmarks

Compared 554adcd against base bc60679 using alternating same-runner rounds. Next.js was unchanged and skipped.

1 improved · 0 regressed · 5 within ±1.5%

Scenario Framework Baseline Current Change
Client bundle size (gzip) vinext 142.4 KB 142.4 KB ⚫ +0.0%
Client entry size (gzip) vinext 129.7 KB 129.7 KB ⚫ +0.0%
Dev server cold start vinext 3.42 s 3.35 s 🟢 -2.2%
Production build time vinext 3.76 s 3.77 s ⚫ +0.4%
RSC entry closure size (gzip) vinext 125.5 KB 125.5 KB ⚫ 0.0%
Server bundle size (gzip) vinext 216.1 KB 216.2 KB ⚫ +0.0%

View detailed results and traces

🟢 improvement · 🔴 regression · ⚫ change below 1.5% · paired base/head

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