Skip to content

Unknown source of truncation not documented in _meta field (50 obj limit?) #5560

@ReneGreen27

Description

@ReneGreen27

How do you use Sentry?

Sentry Saas (sentry.io)

Version

2.53.0 python flask

Steps to Reproduce

Enable include_local_variables=True in sentry-sdk (Python).

`include_local_variables=True
max_value_length=8192 * 2
max_request_body_size="always"

sentry_sdk.serializer.MAX_DATABAG_DEPTH = 500
sentry_sdk.serializer.MAX_DATABAG_BREADTH = 500`

Raise an exception where a stack frame contains a local variable object (msgObj) with large number of keys.

Truncation occurs

Inspect the event in the Sentry UI and review the _meta field.

Expected Result

If truncation occurs, _meta should clearly indicate the cause (e.g. !limit entry).

Since SDK serializer limits were raised significantly, the object should not be truncated due to SDK constraints.

The numeric limit (if server-side) should be discoverable in documentation.

Actual Result

Only ~50 keys are retained.

No visible !limit entry appears at the object root.

Event size is well below 1 MiB.

Not HTTP request body data.

Debug logs show successful ingestion.

No SDK limits appear to be hit.

Is there a hard 50-key object breadth limit (and/or 50-item array limit) enforced server-side, and why does _meta not explicitly show a !limit entry for object-level truncation?

Workaround currently used is attaching the full object as a file preserves all keys, which suggests this truncation is happening during event normalization rather than SDK serialization.

Example reference in internal ticket #175308

Metadata

Metadata

Assignees

No one assigned

    Projects

    Status

    Waiting for: Product Owner

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions