Skip to content

Commit 8a13913

Browse files
committed
editor pre-prepare
1 parent a542b3d commit 8a13913

11 files changed

+44
-73
lines changed

.changesets/config_caroline_remove_unused_ttl.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1-
### Remove unused TTL parameter from response cache Redis config ([PR #8513](https://github.com/apollographql/router/pull/8513))
1+
### Remove unused TTL parameter from response cache Redis configuration ([PR #8513](https://github.com/apollographql/router/pull/8513))
22

33
The `ttl` parameter under `redis` configuration had no effect and is removed. Configure TTL at the `subgraph` level to control cache entry expiration:
4+
45
```yaml
56
preview_response_cache:
67
enabled: true
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
### Add Redis cache suggestions to the response cache documentation ([PR #8624](https://github.com/apollographql/router/pull/8624))
1+
### Add Redis cache suggestions to response cache documentation ([PR #8624](https://github.com/apollographql/router/pull/8624))
22

3-
Several questions have been added to the FAQ, specifically overing the supported Redis versions and how to set up Redis key eviction.
3+
The FAQ now includes information about supported Redis versions and Redis key eviction setup.
44

55
By [@carodewig](https://github.com/carodewig) in https://github.com/apollographql/router/pull/8624
Lines changed: 2 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,5 @@
1-
### feat(telemetry): add active subgraph requests attribute to router ove… ([PR #8530](https://github.com/apollographql/router/pull/8530))
1+
### Document active subgraph requests selector ([PR #8530](https://github.com/apollographql/router/pull/8530))
22

3-
Modified the selectors section to reflect the `active_subgraph_requests` properly
4-
5-
<!-- start metadata -->
6-
7-
<!-- [ROUTER-####] -->
8-
---
9-
10-
**Checklist**
11-
12-
Complete the checklist (and note appropriate exceptions) before the PR is marked ready-for-review.
13-
14-
- [ ] PR description explains the motivation for the change and relevant context for reviewing
15-
- [ ] PR description links appropriate GitHub/Jira tickets (creating when necessary)
16-
- [ ] Changeset is included for user-facing changes
17-
- [ ] Changes are compatible[^1]
18-
- [ ] Documentation[^2] completed
19-
- [ ] Performance impact assessed and acceptable
20-
- [ ] Metrics and logs are added[^3] and documented
21-
- Tests added and passing[^4]
22-
- [ ] Unit tests
23-
- [ ] Integration tests
24-
- [ ] Manual tests, as necessary
25-
26-
**Exceptions**
27-
28-
*Note any exceptions here*
29-
30-
**Notes**
31-
32-
[^1]: It may be appropriate to bring upcoming changes to the attention of other (impacted) groups. Please endeavour to do this before seeking PR approval. The mechanism for doing this will vary considerably, so use your judgement as to how and when to do this.
33-
[^2]: Configuration is an important part of many changes. Where applicable please try to document configuration examples.
34-
[^3]: A lot of (if not most) features benefit from built-in observability and `debug`-level logs. Please read [this guidance](https://github.com/apollographql/router/blob/dev/dev-docs/metrics.md#adding-new-metrics) on metrics best-practices.
35-
[^4]: Tick whichever testing boxes are applicable. If you are adding Manual Tests, please document the manual testing (extensively) in the Exceptions.
3+
The telemetry selectors documentation now correctly reflects the `active_subgraph_requests` attribute.
364

375
By [@faisalwaseem](https://github.com/faisalwaseem) in https://github.com/apollographql/router/pull/8530

.changesets/feat_aaron_http2_header_list_size.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
### Configure maximum allowed HTTP/2 header list size ([PR #8636](https://github.com/apollographql/router/pull/8636))
1+
### Configure maximum HTTP/2 header list size ([PR #8636](https://github.com/apollographql/router/pull/8636))
22

3-
The router now supports configuring the maximum size allowed for HTTP/2 header lists via the `limits.http2_max_headers_list_bytes` setting. This protects against excessive resource usage from clients sending extremely large sets of HTTP/2 headers.
3+
The router now supports configuring the maximum size for HTTP/2 header lists via the `limits.http2_max_headers_list_bytes` setting. This protects against excessive resource usage from clients sending large sets of HTTP/2 headers.
44

55
The default remains 16KiB. When a client sends a request with HTTP/2 headers whose total size exceeds the configured limit, the router rejects the request with a 431 error code.
66

.changesets/feat_bnjjj_router_1506.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
### Add selectors for telemetry to create metrics based on cache-control values ([PR #8524](https://github.com/apollographql/router/pull/8524))
1+
### Add telemetry selector for Cache-Control metrics ([PR #8524](https://github.com/apollographql/router/pull/8524))
22

3-
New selector `response_cache_control` added in telemetry for subgraph service to know what's the content of the computed [`Cache-Control` header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Cache-Control) from the subgraph response.
3+
The new `response_cache_control` selector enables telemetry metrics based on the computed [`Cache-Control` header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Cache-Control) from subgraph responses.
44

5-
Example of attributes added to metrics:
5+
**Example configuration:**
66

77
```yaml
88
telemetry:
@@ -11,10 +11,10 @@ telemetry:
1111
common:
1212
service_name: apollo-router
1313
views:
14-
- name: subgraph.response.cache_control.max_age # This is to make sure it will use the correct buckets for the max age histogram
14+
- name: subgraph.response.cache_control.max_age
1515
aggregation:
1616
histogram:
17-
buckets: # Override default buckets configured for this histogram
17+
buckets:
1818
- 10
1919
- 100
2020
- 1000
@@ -27,7 +27,7 @@ telemetry:
2727
value:
2828
response_cache_control: max_age
2929
type: histogram
30-
unit: s # Seconds
30+
unit: s
3131
description: A histogram of the computed TTL for a subgraph response
3232
```
3333

.changesets/feat_bnjjj_router_1517.md

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,23 @@
1-
### Response caching: support customizing cache key per subgraph via context ([PR #8543](https://github.com/apollographql/router/pull/8543))
1+
### Customize response cache key per subgraph via context ([PR #8543](https://github.com/apollographql/router/pull/8543))
22

3-
The response cache key can be customized by the context entry `apollo::response_cache::key`. Previously, customization was supported per operation name or for all subgraph requests. This change introduces the ability to customize cache keys for individual subgraphs by using the new `subgraphs` field, where you can define separate entries for each subgraph name.
3+
The response cache key can now be customized per subgraph using the `apollo::response_cache::key` context entry. The new `subgraphs` field enables defining separate cache keys for individual subgraphs.
44

5-
Please note that data for a specific subgraph takes precedence over data in the `all` field, and the router doesn't merge data between them. To set common data when providing subgraph-specific data, add it to the subgraph-specific section.
5+
Subgraph-specific data takes precedence over data in the `all` fieldthe router doesn't merge them. To set common data when providing subgraph-specific data, add it to the subgraph-specific section.
66

7-
Example payload:
7+
**Example payload:**
88

99
```json
1010
{
11-
"all": 1,
12-
"subgraph_operation1": "key1",
13-
"subgraph_operation2": {
14-
"data": "key2"
15-
},
16-
"subgraphs": {
17-
"my_subgraph": {
18-
"locale": "be"
19-
}
11+
"all": 1,
12+
"subgraph_operation1": "key1",
13+
"subgraph_operation2": {
14+
"data": "key2"
15+
},
16+
"subgraphs": {
17+
"my_subgraph": {
18+
"locale": "be"
2019
}
20+
}
2121
}
2222
```
2323

.changesets/feat_tylerb_cors_private_network_access.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
1-
### CORS Private Network Access support ([PR #8279](https://github.com/apollographql/router/pull/8279))
1+
### Add CORS Private Network Access support ([PR #8279](https://github.com/apollographql/router/pull/8279))
22

3-
Expands CORS configuration and support for the [private network access](https://wicg.github.io/private-network-access/) (PNA) feature in CORS. To enable PNA for a CORS policy in configuration, specify the field `private_network_access`. The `private_network_access` field has two subfields, `access_id` and `access_name`, both of which are optional.
3+
CORS configuration now supports [private network access](https://wicg.github.io/private-network-access/) (PNA). Enable PNA for a CORS policy by specifying the `private_network_access` field, which supports two optional subfields: `access_id` and `access_name`.
4+
5+
**Example configuration:**
46

57
```yaml
68
cors:
Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
1-
### unify timeout codes in response caching metrics ([PR #8515](https://github.com/apollographql/router/pull/8515))
1+
### Unify timeout codes in response caching metrics ([PR #8515](https://github.com/apollographql/router/pull/8515))
22

3-
Unify the 'timeout' code used as a parameter in `apollo.router.operations.response_cache.*.error` metrics.
4-
5-
Tokio- and Redis-based timeouts should be treated as the same thing for the purpose of monitoring, but they were
6-
inadvertently given different code values.
3+
Tokio- and Redis-based timeouts now use the same `timeout` code in `apollo.router.operations.response_cache.*.error` metrics. Previously, they were inadvertently given different code values.
74

85
By [@carodewig](https://github.com/carodewig) in https://github.com/apollographql/router/pull/8515
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
### Fix missing Content-Length header ([Issue](https://github.com/apollographql/router/issues/7941))
1+
### Preserve Content-Length header for responses with known size ([Issue #7941](https://github.com/apollographql/router/issues/7941))
22

3-
Apollo Router was using `transfer-encoding: chunked` for GraphQL responses with known content lengths instead of the more efficient content-length header due to the fleet_detector plugin destroying HTTP body size hints when collecting metrics.
3+
The router now uses the `Content-Length` header for GraphQL responses with known content lengths instead of `transfer-encoding: chunked`. Previously, the `fleet_detector` plugin destroyed HTTP body size hints when collecting metrics.
44

5-
In https://github.com/apollographql/router/pull/6538 we solved this same issue for metrics for the `router -> subgraph` by modifying the fleet_detector plugin to preserve size hints for bodies with known content lengths by checking `size_hint.exact()` and only wrapping unknown-size bodies in streams for byte counting. This PR extends the existing fix already applied to `router → subgraph` requests to also cover `client → router` requests/responses, ensuring size hints flow correctly through the entire pipeline for optimal HTTP header selection.
5+
This extends the fix from [#6538](https://github.com/apollographql/router/pull/6538), which preserved size hints for `router → subgraph` requests, to also cover `client → router` requests and responses. Size hints now flow correctly through the entire pipeline for optimal HTTP header selection.
66

77
By [@morriswchris](https://github.com/morriswchris) in https://github.com/apollographql/router/pull/7977
Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1-
### Fix `apollo.router.operations.subscriptions.events` metric not incrementing for subscription events ([PR #8483](https://github.com/apollographql/router/pull/8483))
1+
### Correct `apollo.router.operations.subscriptions.events` metric counting ([PR #8483](https://github.com/apollographql/router/pull/8483))
22

3-
Moves the `u64_counter!` call into the stream so it triggers for each subscription event (ignoring ping/pong/close etc).
4-
Also removes the custom sending of pong responses before connection ack is received, which resulted in 2 pongs being sent as the websocket implementation already replies to pings by default.
3+
The `apollo.router.operations.subscriptions.events` metric now increments correctly for each subscription event (excluding ping/pong/close messages). The counter call has been moved into the stream to trigger on each event.
4+
5+
This change also removes custom pong response handling before connection acknowledgment, which previously caused duplicate pongs because the WebSocket implementation already handles pings by default.
56

67
By [@rohan-b99](https://github.com/rohan-b99) in https://github.com/apollographql/router/pull/8483

0 commit comments

Comments
 (0)