Skip to content

prototype: explicit deduplication clone opt-out - #1

Closed
trippyogi wants to merge 1 commit into
mainfrom
investigate/skip-clone-no-dedup
Closed

trippyogi wants to merge 1 commit into
mainfrom
investigate/skip-clone-no-dedup

Conversation

@trippyogi

Copy link
Copy Markdown
Owner

This is a design prototype for apollographql#433, not an upstream-ready fix.

The investigation exposed a compatibility constraint: eliminating per-consumer deep clones under high-fanout deduplication also eliminates the existing guarantee that each caller receives an independently mutable parsed body.

This branch preserves current isolation semantics by default, removes the unnecessary clone when a request-lifetime request has only one consumer, and prototypes an explicit shouldCloneParsedBodyForDeduplication() opt-out for consumers that treat parsed responses as immutable.

The remaining question is API/behavioral rather than implementation correctness: whether Apollo wants a dedicated opt-out like this, prefers the existing cloneParsedBody override, or wants a different deduplication policy/configuration surface.

Test plan

  • npm test
  • Default high-fanout still clones once per concurrent consumer
  • Opt-out yields zero clones and documents aliasing, including deduplicate-until-invalidated

@trippyogi

Copy link
Copy Markdown
Owner Author

Closing this fork-only PR; the intended target is the upstream draft at apollographql#438.

@trippyogi trippyogi closed this Aug 15, 2026
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