Skip to content
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

Checkins are dropped when lots of Celery child tasks are started and max-tasks-per-child is reached #2496

Closed
antonpirker opened this issue Nov 9, 2023 · 2 comments · Fixed by #2500
Assignees
Labels
Integration: Celery Type: Bug Something isn't working

Comments

@antonpirker
Copy link
Member

How do you use Sentry?

Sentry Saas (sentry.io)

Version

1.33.0

Steps to Reproduce

Set max-tasks-per-child in Celery to 10000. Use redis as broker. Create a Celery Task that starts 12000 child tasks using .delay().
When max-tasks-per-child is reached our redis integration adds a lot of big breadcrumbs to the scope which are applied to all the success/failure checkins of the child spans.
Because of the size of the breadcrumbs the checkin envelopes are too big and are dropped by the server. Leading to all child spans timing out because the success/failure checking never reaches sentry.

Expected Result

All checkins are sent successfully

Actual Result

The checkins are dropped because of size restriction on the server.

@antonpirker antonpirker added Type: Bug Something isn't working Integration: Celery labels Nov 9, 2023
@antonpirker antonpirker self-assigned this Nov 9, 2023
@antonpirker
Copy link
Member Author

Sample checkin that is too big:

event-with-lots-of-breadcrumbs.txt

@antonpirker
Copy link
Member Author

Ok, my thoughts as of now:

  • I do not think it is a problem with the breadcrumb size (because we limit the breadcrumbs because we limit the number of breadcrumbs to 100 in the SDK by default and this will never reach the envelope limit of 20MB compressed
    • Question: do we set max_breadcrumbs in sentry to a custom value? does not seem like it.
  • I am not sure where the “envelope exceeded size limit” comes from. I was not able to reproduce this (not even with starting 100k child task (what would lead to 100k breadcrumbs, but as said only the first (or last) 100 will be sent.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Integration: Celery Type: Bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant