-
Notifications
You must be signed in to change notification settings - Fork 276
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
release: v1.60.0 #6647
base: main
Are you sure you want to change the base?
release: v1.60.0 #6647
Conversation
This mode will change the behaviour of the router for tracing in the following ways: * Spans are never dropped, instead they are converted to RecordOnly. * Spans that are sent to otlp and datadog exporters will always look like they have been sampled. * The `sampling.priority` attribute is populated on spans. * `psr` is populated in trace state. * `m` is populated in trace state.
…use rate based sampling from agent.
Co-authored-by: Edward Huang <[email protected]>
Co-authored-by: Edward Huang <[email protected]>
Co-authored-by: Edward Huang <[email protected]>
Co-authored-by: Edward Huang <[email protected]>
We made some weird configuration previously to force particular behaviour which when looked at subsequently didn't make any sense. In particular the otlp tests should have had otlp propagation with the datadog propagator also enabled. Also added a chack for the subgraph service to ensure it is correctly sampled.
Co-authored-by: Coenen Benjamin <[email protected]>
Co-authored-by: Maria Elisabeth Schreiber <[email protected]>
Co-authored-by: Simon Sapin <[email protected]>
…6592) Co-authored-by: Bryn Cooke <[email protected]> Co-authored-by: bryn <[email protected]>
Co-authored-by: Maria Elisabeth Schreiber <[email protected]> Co-authored-by: Bryn Cooke <[email protected]>
Signed-off-by: Benjamin <[email protected]> Co-authored-by: Jesse Rosenberger <[email protected]>
…sh (backport #6622) (#6633) Co-authored-by: Ivan Goncharov <[email protected]> Co-authored-by: Renée Kooi <[email protected]>
|
CI performance tests
|
### Remove experimental_retry ([PR #6338](https://github.com/apollographql/router/pull/6338)) | ||
|
||
Remove `experimental_retry`. Looking at our analytics it looks like it's not used and it's not working properly. As it was an experimental feature in order to check if we needed this feature or not we decided to remove it. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
### Remove experimental_retry ([PR #6338](https://github.com/apollographql/router/pull/6338)) | |
Remove `experimental_retry`. Looking at our analytics it looks like it's not used and it's not working properly. As it was an experimental feature in order to check if we needed this feature or not we decided to remove it. | |
### Remove experimental_retry option ([PR #6338](https://github.com/apollographql/router/pull/6338)) | |
The `experimental_retry` option has been removed due to its limited use and functionality during its experimental phase. |
@@ -0,0 +1,13 @@ | |||
### Improved BatchProcessor observability ([Issue #6558](https://github.com/apollographql/router/issues/6558)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
### Improved BatchProcessor observability ([Issue #6558](https://github.com/apollographql/router/issues/6558)) | |
### Improve BatchProcessor observability ([Issue #6558](https://github.com/apollographql/router/issues/6558)) |
@@ -0,0 +1,10 @@ | |||
### Truncating Invalid Error Paths ([PR #6359](https://github.com/apollographql/router/pull/6359)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
### Truncating Invalid Error Paths ([PR #6359](https://github.com/apollographql/router/pull/6359)) | |
### Truncate invalid error paths ([PR #6359](https://github.com/apollographql/router/pull/6359)) |
According to the [GraphQL Specification](https://spec.graphql.org/draft/#sel-GAPHRPHCAACCpC8-T) an error path must point to a **response field**: | ||
> If an error can be associated to a particular field in the GraphQL result, it must contain an entry with the key path that details the path of the response field which experienced the error. | ||
|
||
If a subgraph error includes a path that can't be matched to a response field, the router now truncates the path to the nearest valid field path. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If a subgraph error includes a path that can't be matched to a response field, the router now truncates the path to the nearest valid field path. | |
The router now truncates the path to the nearest valid field path if a subgraph error includes a path that can't be matched to a response field, |
@@ -0,0 +1,9 @@ | |||
### Demand control lookup optimizations ([PR #6450](https://github.com/apollographql/router/pull/6450)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
### Demand control lookup optimizations ([PR #6450](https://github.com/apollographql/router/pull/6450)) | |
### Optimize demand control lookup ([PR #6450](https://github.com/apollographql/router/pull/6450)) |
Demand Control can reduce router throughput due to the extra processing required for scoring. This change shifts more data to be computed at plugin initialization and consolidates lookup queries. | ||
|
||
- Cost directives for arguments are now stored in a map alongside those for field definitions | ||
- All precomputed directives are bundled into a struct for each field, along with that field's extended schema type. This reduces 5 individual lookups to a single lookup. | ||
- Response scoring was looking up each field's definition twice. This is now reduced to a single lookup. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Demand Control can reduce router throughput due to the extra processing required for scoring. This change shifts more data to be computed at plugin initialization and consolidates lookup queries. | |
- Cost directives for arguments are now stored in a map alongside those for field definitions | |
- All precomputed directives are bundled into a struct for each field, along with that field's extended schema type. This reduces 5 individual lookups to a single lookup. | |
- Response scoring was looking up each field's definition twice. This is now reduced to a single lookup. | |
The performance of demand control in the router has been optimized. | |
Previously, demand control could reduce router throughput due to its extra processing required for scoring. | |
This fix improves performance by shifting more data to be computed at plugin initialization and consolidating lookup queries: | |
- Cost directives for arguments are now stored in a map alongside those for field definitions | |
- All precomputed directives are bundled into a struct for each field, along with that field's extended schema type. This reduces 5 individual lookups to a single lookup. | |
- Response scoring was looking up each field's definition twice. This is now reduced to a single lookup. |
@@ -0,0 +1,11 @@ | |||
### Remove the legacy query planner ([PR #6418](https://github.com/apollographql/router/pull/6418)) | |||
|
|||
The legacy query planner has been removed in this release. In the previous release, Router 1.58, it was already no longer used by default but it was still available through the `experimental_query_planner_mode` configuration key. That key is now removed. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The legacy query planner has been removed in this release. In the previous release, Router 1.58, it was already no longer used by default but it was still available through the `experimental_query_planner_mode` configuration key. That key is now removed. | |
The legacy query planner has been removed in this release. In the previous release, router v1.58, it was no longer used by default but was still available through the `experimental_query_planner_mode` configuration key. That key is now removed. |
#6654 should land in 1.60.0 too, ideally |
main
branch of an upcoming release (version number in the title).main
)