Skip to content

delayed job integration: payload reached its size limit #1603

@lacco

Description

@lacco

Issue Description

We recently switched from sentry-raven to the new version of the SDK.
Everything seems to work for Rails HTTP requests, but exception tracking for DelayedJob causes some issues.

From time to time, we see the following log entries:

Transaction sending failed: the server responded with status 413
body: {"detail":"failed to read request body","causes":["payload reached its size limit"]}

Event sending failed: the server responded with status 413
body: {"detail":"failed to read request body","causes":["payload reached its size limit"]}

This only happens for tracing/ exception tracking in our delayed jobs.

I tried to narrow down the issue in two ways:

  1. config.debug = true didn't get any additional information
  2. Rails.logger.error(event.inspect) in config.before_send is never logging anything

Any suggestions about what I can do to make sure that none of our exceptions are getting lost?

Reproduction Steps

Hard to reproduce on our non-production systems

Expected Behavior

It should send all exceptions that are happening to Sentry

Actual Behavior

Some exceptions (and probably traces) are missing

Ruby Version

2.6.3

SDK Version

sentry-delayed_job=4.7.3, sentry-ruby=4.7.3

Integration and Its Version

Rails, DelayedJob

Sentry Config

Sentry.init do |config|
  config.breadcrumbs_logger = [:active_support_logger]

  filter = ActiveSupport::ParameterFilter.new(Rails.application.config.filter_parameters)
  config.before_send = lambda do |event, _hint|
    filter.filter(event.to_hash)
  end

  config.traces_sample_rate = 0.2
end

Metadata

Metadata

Assignees

No fields configured for issues without a type.

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions