-
Notifications
You must be signed in to change notification settings - Fork 268
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
To review, DO NOT MERGE #6022
Draft
bnjjj
wants to merge
139
commits into
dev
Choose a base branch
from
next
base: dev
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
To review, DO NOT MERGE #6022
+40,073
−5,526
Conversation
This file contains 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
…#5630) Currently the `Schema` struct created in Record/Replay plugin is missing api_schema (it's `None`!) information that's necessary when parsing an executable document. This means that any incoming operation with Record/Replay plugin enabled, will panic with `missing API schema`. This change adds an additional `schema.with_api_schema()` call before instantiating this plugin. The fix does reparse the schema, but this is also a debugging plugin. The expectation is that this change will be superseded by #5623 in the 1.52.0 release.
The parsing and validation step is a blocking task that can be expensive on large queries. When performed on a tokio executor threads, that thread is unavailable to handle other asynchronous requests in the mean time. Which means that if a lot of large queries come in at once, they could lock up all of the executor threads, and the router then stops handling traffic. This moves parsing validation in tokio's blocking tasks pool. This is a set of threads allocated purely to blocking tasks, exposing an async interface for the rest of the code, so executor threads can offload the parsing there then go back to the rest of the traffic while the query is parsed. If too many large queries come in at once, the blocking pool might get temporarily used entirely, but this will not affect traffic for other queries that were already parsed and planned, and the request handling timeout can trigger if it waits too long for its query to be parsed. Co-authored-by: Marc-Andre Giroux <mgiroux@netflix.com> Co-authored-by: Marc-Andre Giroux <mgiroux0@gmail.com>
Co-authored-by: Gary Pennington <gary@apollographql.com>
Signed-off-by: Benjamin Coenen <5719034+bnjjj@users.noreply.github.com> Co-authored-by: Benjamin Coenen <5719034+bnjjj@users.noreply.github.com>
That's kind of annoying...
Co-authored-by: Jeremy Lempereur <jeremy.lempereur@iomentum.com> Co-authored-by: Dylan Anthony <dylan@apollographql.com> Co-authored-by: Matthew Hawkins <matthew.hawkins@apollographql.com> Co-authored-by: Nicholas Cioli <nicholas.cioli@apollographql.com> Co-authored-by: Taylor Jones <taylor@apollographql.com> Co-authored-by: Tim Hingston <tim@apollographql.com>
Co-authored-by: Dylan Anthony <dylan@apollographql.com>
license enforcement now uses the expanded supergraph so we need to ensure that the connect link (serialized as join__directive) ends up in the schema
Co-authored-by: Lenny Burdette <lenny@apollographql.com>
Co-authored-by: Matthew Hawkins <matthew.hawkins@apollographql.com>
Co-authored-by: Matthew Hawkins <matthew.hawkins@apollographql.com>
…#6086) This is a breaking change, but seems necessary to prevent parsing ambiguities.
…::Path` items (#6097) Co-authored-by: Dylan Anthony <dylan@apollographql.com> Co-authored-by: Lenny Burdette <lenny@apollographql.com>
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.
No description provided.