Skip to content

Don't send an exception until retries are exhausted if the exception is retryable with Sidekiq #781

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

Closed
brettburley opened this issue Oct 20, 2017 · 5 comments · Fixed by #1532
Milestone

Comments

@brettburley
Copy link

We tend to have jobs that raise exceptions on occasion due to issues like network timeouts, etc. that we expect to happen regularly. Given a list of retryable_exceptions, we might want jobs that raise one of these exceptions to not send an error notification until their last retry is exhausted. This way we can eliminate extra noise from errors that we expect to happen, but still allow these jobs to retry (and eventually succeed), while still receiving immediate notifications for unexpected errors.

This could be implemented in the Sidekiq integration to not send an error report if the exception is in the list of retryable_exceptions and the job has remaining retries.

I'm happy to take a stab at a PR that integrates this, but curious if this seems like it is within the scope of an integration, or if the integrations are intended to be very simple, and if there's a precedence for adding configuration options like retryable_exceptions that's specific to a particular integration.

@nateberkopec
Copy link
Contributor

Agreed. I think this is within the scope of the Sidekiq integration.

brettburley added a commit to brettburley/raven-ruby that referenced this issue Oct 28, 2017
@st0012 st0012 added this to the 4.6.0 milestone May 28, 2021
@st0012 st0012 removed this from the 4.6.0 milestone Jun 24, 2021
@kornate
Copy link

kornate commented Aug 10, 2021

@st0012 could you give a status update on this? Is it expected to be integrated? As a new customer, we have the same issue whereby timeouts and other commonly retried errors, are costing us a fortune!

@st0012
Copy link
Collaborator

st0012 commented Aug 15, 2021

@brettburley @kornate sorry for the delay. I've implemented this feature in #1532, which is scheduled to be a part of 4.7.0 release 🙂

@st0012 st0012 added this to the 4.7.0 milestone Aug 15, 2021
@travisp
Copy link

travisp commented Oct 2, 2021

@st0012 this update is useful, but would you consider something that also includes some of the original request to be able to specify which exceptions should be sent? There are many cases where it's useful to ignore certain exceptions that will be retried (until exhaustion), but still report other exceptions.

@st0012
Copy link
Collaborator

st0012 commented Oct 2, 2021

@travisp I can understand the use case, but I won't put that in high priority for now. but if anyone can propose an implementation for it, I'll consider it.

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

Successfully merging a pull request may close this issue.

5 participants