Skip to content
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

PoC with experimental updated line/col support in apollo-compiler #5263

Closed
wants to merge 102 commits into from

Conversation

dylan-apollo
Copy link
Member

Just demonstrating the required changes if apollographql/apollo-rs#861 is accepted. This is based on my latest connectors branch so I can test what I need e2e. The only changes relevant to dev are in apollo-router/src/error.rs (which, maybe should be using the same GraphQLError struct as apollo-compiler)?

o0Ignition0o and others added 30 commits April 15, 2024 20:31
Co-authored-by: Sachin Shinde <sachin@apollographql.com>
Co-authored-by: Nicholas Cioli <nicholas.cioli@apollographql.com>
This commit adds the concept of a general `Connector` which
handles keeping track of what options are needed for a connector
type. As of now, only HTTP is supported.
We use a list of `{name:, value?:, as?:}` object because we can't use an
object — header names aren't valid GraphQL object keys. But it really is
a map, especially so we can easily merge the `@connect` headers into the
`@source` headers, overriding by name. Also, the `value` field can be a
list of values.
…n, while todo!()ing code that no longer compiles
introduces a Connector "model" that incorporates info from the @connect
directive and the relevant @source directive if it exists
… dependency graph (apollographql/federation-next#286)

This PR adds source-aware data structures for graph paths, path trees,
and fetch dependency graphs.
…hql/federation-next#287)

Previously `source_query_graph()` was returning `&mut
SourceFederatedQueryGraphs`, though we'd prefer to give back `&mut
SourceFederatedQueryGraph` instead (i.e. hiding other source-kind query
graph data, since it turns out we can't really use `super` to hide them
in `SourceFederatedQueryGraphs` without eliciting warnings).
…eration-next#288)

This PR:
- Adjusts the root node mapping to indicate there's only one per
supergraph type.
- Tracks non-entity nodes in the intra-source builder, so we can add
`SourceExit` edges from them if a root appears later.
…l/federation-next#292)

This PR:
- Adjusts some type/method naming.
- Adds explicit data for `GraphqlPath`/`ConnectPath`, to clarify what
they could look like. (Which should help when referencing them in task
descriptions.)
@router-perf
Copy link

router-perf bot commented May 28, 2024

CI performance tests

  • events_big_cap_high_rate_callback - Stress test for events with a lot of users, deduplication enabled and high rate event with a big queue capacity using callback mode
  • reload - Reload test over a long period of time at a constant rate of users
  • large-request - Stress test with a 1 MB request payload
  • events - Stress test for events with a lot of users and deduplication ENABLED
  • const - Basic stress test that runs with a constant number of users
  • step - Basic stress test that steps up the number of users over time
  • events_without_dedup_callback - Stress test for events with a lot of users and deduplication DISABLED using callback mode
  • demand-control-instrumented - A copy of the step test, but with demand control monitoring and metrics enabled
  • events_without_dedup - Stress test for events with a lot of users and deduplication DISABLED
  • events_big_cap_high_rate - Stress test for events with a lot of users, deduplication enabled and high rate event with a big queue capacity
  • no-graphos - Basic stress test, no GraphOS.
  • events_callback - Stress test for events with a lot of users and deduplication ENABLED in callback mode
  • xlarge-request - Stress test with 10 MB request payload
  • xxlarge-request - Stress test with 100 MB request payload
  • step-jemalloc-tuning - Clone of the basic stress test for jemalloc tuning
  • step-with-prometheus - A copy of the step test with the Prometheus metrics exporter enabled
  • demand-control-uninstrumented - A copy of the step test, but with demand control monitoring enabled

Base automatically changed from dylan/validate-connect-source to connectors May 29, 2024 18:48
Base automatically changed from connectors to next July 30, 2024 19:08
@abernix
Copy link
Member

abernix commented Nov 20, 2024

Feel free to re-open.

@abernix abernix closed this Nov 20, 2024
@dylan-apollo dylan-apollo deleted the dylan/line-column-from-apollo-rs branch November 20, 2024 17:38
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.

8 participants