feat(limits): add per-subgraph and per-connector response size limits #9160
Style Review Completed
The pull request has 35 style issues.
Duration: 2715ms
PR URL: #9160
Review Log: View detailed log
Review Comments: The AI has posted 35 inline comments with suggestions
Summary of changes:
The documentation has been updated to align with the style guide across several key areas: framing has been improved by using imperative verbs, second-person perspective ('your'), and simpler language like 'used' instead of 'enabled'. Product naming conventions now treat plural names like 'Apollo Connectors' as plural subjects and omit articles before standalone names like 'Router'. Verb usage was shifted to the present tense and active voice to clarify actors and improve immediacy. Structural and formatting changes include removing punctuation from list fragments, ensuring consistency with colons, and removing quotes around code-formatted strings. Finally, word usage was refined by replacing semicolons and em-dashes with periods, using contractions, and ensuring all configuration-related numbers use numerals in code font.
Annotations
Check notice on line 176 in docs/source/routing/security/request-limits.mdx
apollo-librarian / AI Style Review
docs/source/routing/security/request-limits.mdx#L176
**Framing Apollo Products**: Use simpler language like 'used' instead of 'enabled'.
```suggestion
warn_only: true # warn_only mode always used
```
Check notice on line 3 in docs/source/routing/security/request-limits.mdx
apollo-librarian / AI Style Review
docs/source/routing/security/request-limits.mdx#L3
**Framing**: Frame content relative to the reader by using "your".
```suggestion
subtitle: Protect your router from requests exceeding your network, parser, operation-based, and subgraph response limits
```
Check notice on line 404 in docs/source/routing/security/request-limits.mdx
apollo-librarian / AI Style Review
docs/source/routing/security/request-limits.mdx#L404
**Products and Features**: Treat product names ending in -s as plural subjects. Use plural verbs with Apollo Connectors.
```suggestion
## Apollo Connector response size limits
```
Check warning on line 444 in docs/source/routing/security/request-limits.mdx
apollo-librarian / AI Style Review
docs/source/routing/security/request-limits.mdx#L444
**Products and Features**: Do not use articles like "The" before standalone product names like Router.
```suggestion
- Router increments the `apollo.router.limits.connector_response_size.exceeded` counter with a `connector.source` attribute identifying the affected source.
```
Check warning on line 400 in docs/source/routing/security/request-limits.mdx
apollo-librarian / AI Style Review
docs/source/routing/security/request-limits.mdx#L400
**Structural Elements**: Fragment list items should not have ending punctuation.
```suggestion
- The subgraph request span gets an `apollo.subgraph.response.aborted` attribute set to `response_size_limit`
```
apollo-librarian / AI Style Review
docs/source/routing/observability/router-telemetry-otel/enabling-telemetry/standard-instruments.mdx#L284
**Verb Tense and Voice**: Use present tense instead of past tense.
```suggestion
- `apollo.router.limits.subgraph_response_size.exceeded`: A counter of subgraph responses that exceed the configured `http_max_response_bytes` limit under `limits.subgraph`.
```
apollo-librarian / AI Style Review
docs/source/routing/observability/router-telemetry-otel/enabling-telemetry/standard-instruments.mdx#L285
**Verb Tense and Voice**: Use present tense instead of past tense.
```suggestion
- `subgraph.name`: The name of the subgraph whose response exceeds the limit.
```
apollo-librarian / AI Style Review
docs/source/routing/observability/router-telemetry-otel/enabling-telemetry/standard-instruments.mdx#L288
**Verb Tense and Voice**: Use present tense instead of past tense.
```suggestion
- `connector.source`: The source key (`subgraph_name.source_name`) whose response exceeds the limit.
```
Check notice on line 397 in docs/source/routing/security/request-limits.mdx
apollo-librarian / AI Style Review
docs/source/routing/security/request-limits.mdx#L397
**Verb Tense and Voice**: Use active voice to clarify that the router is the actor.
```suggestion
After the router aborts a subgraph response because it exceeds the configured limit:
```
Check notice on line 445 in docs/source/routing/security/request-limits.mdx
apollo-librarian / AI Style Review
docs/source/routing/security/request-limits.mdx#L445
**Verb Tense and Voice**: Use the present tense instead of 'gets'.
```suggestion
- The connector request span has an `apollo.connector.response.aborted` attribute set to `response_size_limit`.
```
Check notice on line 383 in docs/source/routing/security/request-limits.mdx
apollo-librarian / AI Style Review
docs/source/routing/security/request-limits.mdx#L383
**Voice**: Prescribe a specific 'happy path' for determining limits rather than just suggesting an action.
```suggestion
The recommended approach is to measure the actual response sizes your subgraphs return to determine the appropriate limit. Use the built-in `http.client.response.body.size` histogram to collect a distribution of subgraph response sizes:
```
Check notice on line 402 in docs/source/routing/security/request-limits.mdx
apollo-librarian / AI Style Review
docs/source/routing/security/request-limits.mdx#L402
**Voice**: Use an authoritative voice to prescribe monitoring as a standard practice.
```suggestion
Always monitor the counter to detect misconfigured limits or misbehaving subgraphs. Use the span attribute to filter limit-triggered aborts in your tracing backend.
```
Check warning on line 19 in docs/source/routing/security/request-limits.mdx
apollo-librarian / AI Style Review
docs/source/routing/security/request-limits.mdx#L19
**Word and Symbol Usage**: Numbers used in code or configuration should be numerals in code font.
```suggestion
http_max_request_bytes: `2000000` # Default value: 2 MB
```
Check warning on line 20 in docs/source/routing/security/request-limits.mdx
apollo-librarian / AI Style Review
docs/source/routing/security/request-limits.mdx#L20
**Word and Symbol Usage**: Numbers used in code or configuration should be numerals in code font.
```suggestion
http1_max_request_headers: `200` # Default value: `100`
```
Check warning on line 24 in docs/source/routing/security/request-limits.mdx
apollo-librarian / AI Style Review
docs/source/routing/security/request-limits.mdx#L24
**Word and Symbol Usage**: Numbers used in code or configuration should be numerals in code font.
```suggestion
parser_max_tokens: `15000` # Default value
```
Check warning on line 25 in docs/source/routing/security/request-limits.mdx
apollo-librarian / AI Style Review
docs/source/routing/security/request-limits.mdx#L25
**Word and Symbol Usage**: Numbers used in code or configuration should be numerals in code font.
```suggestion
parser_max_recursion: `500` # Default value
```
Check warning on line 28 in docs/source/routing/security/request-limits.mdx
apollo-librarian / AI Style Review
docs/source/routing/security/request-limits.mdx#L28
**Word and Symbol Usage**: Numbers used in code or configuration should be numerals in code font.
```suggestion
max_depth: `100`
```
Check warning on line 29 in docs/source/routing/security/request-limits.mdx
apollo-librarian / AI Style Review
docs/source/routing/security/request-limits.mdx#L29
**Word and Symbol Usage**: Numbers used in code or configuration should be numerals in code font.
```suggestion
max_height: `200`
```
Check warning on line 30 in docs/source/routing/security/request-limits.mdx
apollo-librarian / AI Style Review
docs/source/routing/security/request-limits.mdx#L30
**Word and Symbol Usage**: Numbers used in code or configuration should be numerals in code font.
```suggestion
max_aliases: `30`
```
Check warning on line 31 in docs/source/routing/security/request-limits.mdx
apollo-librarian / AI Style Review
docs/source/routing/security/request-limits.mdx#L31
**Word and Symbol Usage**: Numbers used in code or configuration should be numerals in code font.
```suggestion
max_root_fields: `20`
```
Check warning on line 36 in docs/source/routing/security/request-limits.mdx
apollo-librarian / AI Style Review
docs/source/routing/security/request-limits.mdx#L36
**Word and Symbol Usage**: Numbers used in code or configuration should be numerals in code font.
```suggestion
http_max_response_bytes: `10485760` # 10 MB for all subgraphs
```
Check warning on line 70 in docs/source/routing/security/request-limits.mdx
apollo-librarian / AI Style Review
docs/source/routing/security/request-limits.mdx#L70
**Word and Symbol Usage**: Numbers used in code or configuration should be numerals with code font.
```suggestion
max_depth: `100`
```
Check warning on line 71 in docs/source/routing/security/request-limits.mdx
apollo-librarian / AI Style Review
docs/source/routing/security/request-limits.mdx#L71
**Word and Symbol Usage**: Numbers used in code or configuration should be numerals with code font.
```suggestion
max_height: `200`
```
Check warning on line 72 in docs/source/routing/security/request-limits.mdx
apollo-librarian / AI Style Review
docs/source/routing/security/request-limits.mdx#L72
**Word and Symbol Usage**: Numbers used in code or configuration should be numerals with code font.
```suggestion
max_aliases: `30`
```
Check warning on line 73 in docs/source/routing/security/request-limits.mdx
apollo-librarian / AI Style Review
docs/source/routing/security/request-limits.mdx#L73
**Word and Symbol Usage**: Numbers used in code or configuration should be numerals with code font.
```suggestion
max_root_fields: `20`
```