Composition issue infinite recursion with @requires use #3060
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.
Description
When using
@requires
on a key field selecting a non-key field, our graph composition fails with a stack overflow:I added a unit test to reproduce the issue.
I'm having doubts whether this is actually a legitimate use case of
@requires
. To me it feels not, and if this is correct, we could probably raise a validation error earlier in the composition process as key fields are either provided by the router or or expected to be provided by the subgraph.