Skip to content

sentry-sidekiq reports exceptions for jobs with dead: false when report_after_job_retries is true #2367

@eapache-opslevel

Description

@eapache-opslevel

Issue Description

We have set up sentry-sidekiq with report_after_job_retries = true.

We have a job which we want to retry, but where we don't care if it ultimately fails, so we have configured that job with sidekiq_options dead: false to prevent it from going to the sidekiq dead set.

Exceptions from this job do not hit sentry while it is retrying (good), but we do still get a sentry exception for a dead job when it exhausts its retries (bad), even though the job never actually hits the dead set.

Arguably report_after_job_retries is behaving as intended, since the job has exhausted its retries in this case; I can see the case that this is really a feature request for a new flag (only_report_dead_jobs or something). But IMO the fact that the exception comes in to Sentry with SidekiqJob.dead = True is a bug, because the job is very definitely not hitting the dead set.

Reproduction Steps

  • configure sentry-sidekiq with report_after_job_retries = true
  • create a sidekiq job with dead: false that raises an exception
  • execute that job, let it exhaust its retries
  • see the sentry exception about a dead job

Expected Behavior

As discussed in the issue description, there are a couple of possible behaviours here that could make sense, but I don't think the current one does.

Actual Behavior

sentry-sidekiq sends dead-job exceptions for jobs that skip the dead set

Ruby Version

3.2.5

SDK Version

5.18.1

Integration and Its Version

Sidekiq 7.3.0

Sentry Config

No response

Metadata

Metadata

Assignees

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions