fix(cloudflare): tolerate Response Store lookup outages - #3523
Merged
Merged
Conversation
Member
Author
|
/bigbonk review for issues Time limit: 8 minutes. Complete the review and post all findings within that limit. |
@vinext/cloudflare
create-vinext-app
@vinext/types
vinext
@cloudflare/workers-response-store
commit: |
Contributor
|
LGTM! |
Contributor
Performance benchmarksCompared 0 improved · 0 regressed · 6 within ±1.5%
View detailed results and traces 🟢 improvement · 🔴 regression · ⚫ change below 1.5% · paired base/head |
Contributor
|
james-elicx
marked this pull request as ready for review
September 28, 2026 00:19
Member
Author
|
/bigbonk review for issues Time limit: 8 minutes. Complete the review and post all findings within that limit. |
Contributor
|
LGTM! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Response Store lookup exceptions and error responses currently escape the data cache or get served as a response-cache hit, turning a temporary cache failure into a failed request. Treat failed reads as cache misses, log an error, and use the normal render and cache-fill path. Data reads also fall back when body consumption, soft-tag validation, or corrupt-entry cleanup fails. Cached redirects remain hits, and warmup RSC reads use the same fallback. Ordinary response-cache fill failures also preserve the rendered response; explicit warmup fills still report persistence failures.
The behavior belongs in this Cloudflare adapter: Next.js delegates custom-handler reads to the handler and its filesystem adapter returns null on storage read errors. Explicit cache mutations retain their existing error behavior.
Validation:
vp test run tests/cloudflare-response-store-worker.test.ts tests/cache-adapters-config.test.ts tests/isr-cache.test.ts tests/fetch-cache.test.ts— 274 passed.pnpm --filter @vinext/cloudflare exec vitest run— 46 passed, including fault injection and recovery through real service-binding Workers, plus existing self-contained coverage.@vinext/cloudflareand both response-store-demo deployment modes; targetedvp checkpassed for all changed files.Fixes #3432.