Skip to content

Conversation

@Dav1dde
Copy link
Member

@Dav1dde Dav1dde commented Dec 11, 2025

From a discussion with the SDK team(s). SDKs are currently emitting client reports when Relay rejects an item if it is too large, but Relay also emits an outcome in that case. If SDKs can differentiate the item size limit, we can stop emitting these outcomes (for stats) twice.

Discussion point: Is this a breaking change, ideally SDKs only special case 429. DACI: https://www.notion.so/sentry/DACI-Relay-Returns-413-for-too-large-envelopes-2c68b10e4b5d8034be83e524c855e73d

TODO: This still needs an integration test or multiple

@Dav1dde Dav1dde requested a review from a team as a code owner December 11, 2025 13:18
@Dav1dde Dav1dde force-pushed the dav1d/413-on-too-large branch from c7b5b48 to 06a3e6d Compare December 11, 2025 13:33
@Dav1dde Dav1dde self-assigned this Dec 11, 2025
- Increases log size limits to better support log drains. ([#5441](https://github.com/getsentry/relay/pull/5441))
- Add functionality to process and store span attachments. ([#5423](https://github.com/getsentry/relay/pull/5423), [#5363](https://github.com/getsentry/relay/pull/5363))
- Apply existing cookie rules to `http.request.header.cookie.<key>` fields. ([#5456](https://github.com/getsentry/relay/pull/5456))
- Return status code `413` if a request is rejected due to size limits. ([#5474](https://github.com/getsentry/relay/pull/5474))
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should put this under **Breaking Changes** even if all our own SDKs already handle 413s correctly. There might be custom clients out there that don't.

// now executed asynchronously in `EnvelopeProcessor`.
(StatusCode::FORBIDDEN, body).into_response()
}
BadStoreRequest::Overflow(_) => (StatusCode::PAYLOAD_TOO_LARGE, body).into_response(),
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So if I understand the DACI and docs correctly, Relay will keep emitting outcomes for this, but the SDK will stop doing so?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants