Skip to content

Stop compressing resume data cache - #97241

Open
gnoff wants to merge 1 commit into
jstory/warn-large-uncompressed-rdcfrom
jstory/stop-compressing-rdc
Open

Stop compressing resume data cache#97241
gnoff wants to merge 1 commit into
jstory/warn-large-uncompressed-rdcfrom
jstory/stop-compressing-rdc

Conversation

@gnoff

@gnoff gnoff commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

Summary

Serialize the Resume Data Cache in postponed state as raw JSON instead of a zlib-compressed base64 string. This lets cache persistence implementations decide whether and how to compress postponed state, and removes the decompression path and zip-bomb exposure from Next.js.

Remove the temporary experimental.disableResumeDataCacheCompression rollout flag together with the deflate and inflate branches, making raw JSON the only persisted representation.

The existing postponed-state request-body size limit remains in place. Parsing diagnostics and tests cover truncated or malformed JSON cache tails.

This is the upper PR in a two-PR stack and should land after the lower rollout-control PR has had a canary observation period.

Verification

  • pnpm build-all
  • pnpm exec jest packages/next/src/server/resume-data-cache/resume-data-cache.test.ts packages/next/src/server/app-render/postponed-state.test.ts --runInBand
  • pnpm --filter=next types

@github-actions

github-actions Bot commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

Stats cancelled

Commit: f503903
View workflow run

@github-actions

github-actions Bot commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

Failing CI jobs

Commit: f503903 | About building and testing Next.js

@gnoff
gnoff force-pushed the jstory/stop-compressing-rdc branch from 03eea21 to abfe394 Compare August 12, 2026 16:48
@gnoff
gnoff changed the base branch from canary to jstory/warn-large-uncompressed-rdc August 12, 2026 16:49
@gnoff
gnoff force-pushed the jstory/stop-compressing-rdc branch from abfe394 to ba3c3c8 Compare August 12, 2026 17:06
@gnoff
gnoff force-pushed the jstory/stop-compressing-rdc branch 2 times, most recently from 6fc1499 to 93c1bbf Compare August 12, 2026 17:44
@gnoff
gnoff force-pushed the jstory/stop-compressing-rdc branch from 93c1bbf to 1e8a0ce Compare August 12, 2026 17:51
## Summary

Serialize the Resume Data Cache in postponed state as raw JSON instead of a zlib-compressed base64 string. This lets cache persistence implementations decide whether and how to compress postponed state, and removes the decompression path and zip-bomb exposure from Next.js.

Remove the temporary experimental.disableResumeDataCacheCompression rollout flag together with the deflate and inflate branches, making raw JSON the only persisted representation.

The existing postponed-state request-body size limit remains in place. Parsing diagnostics and tests cover truncated or malformed JSON cache tails.

## Verification

- pnpm build-all
- pnpm exec jest packages/next/src/server/resume-data-cache/resume-data-cache.test.ts packages/next/src/server/app-render/postponed-state.test.ts --runInBand
- pnpm --filter=next types

<!-- NEXT_JS_LLM -->
@gnoff
gnoff force-pushed the jstory/stop-compressing-rdc branch from 1e8a0ce to f503903 Compare August 12, 2026 18:05
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