Stabilize @defer overlap HTTP tests with instant initial fields#9905
Merged
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
This PR stabilizes the legacy-format @defer overlap HTTP tests by ensuring the initial payload contains only fields that resolve immediately, avoiding nondeterministic bundling of initial and deferred payloads.
Changes:
- Updated the overlap test queries so the initial selection only requests
product { name }, keeping the slowdescriptionfield inside the deferred fragment. - Updated legacy-format response expectations/snapshots so the initial payload no longer includes
descriptionwhile the deferred incremental payload remains unchanged.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
This was referenced Jun 16, 2026
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.
Summary
DeferOverHttpTests.Defer_Overlap_*_Legacy_Formatflaked because the initial selection includeddescription, whose 1000 ms resolver delay raced the deferred fragment's payload — the engine non-deterministically bundled the initial and deferred@deferpayloads into one instead of two. The xUnit 3 / Microsoft Testing Platform migration shifted scheduling and exposed this pre-existing race.namefield, while the slowdescriptionfield stays inside the@deferfragment. The initial payload flushes immediately and the deferred payload reliably lags, so delivery is deterministically two parts.description); the merged incremental payloads are unchanged, so the legacy merge/dedup behavior is still covered via thenameoverlap.Test plan
DeferOverHttpTestsclass (63 tests): all pass.