Skip to content

Fatal exceptions in Combining Blocking and Non-Blocking Retries #2455

Answered by garyrussell
jgslima asked this question in Q&A
Discussion options

You must be logged in to vote

RuntimeException is too general here; the exception classifier for the retryable topic, by default, retries no exceptions (ExceptionClassifier.defaultFalse()) so that all exceptions go through the non-blocking retry chain (or straight to the DLT, depending on the type).

Since RuntimeException is a super class for many exceptions, they will all be retried blocking, before going through the retry chain.

You need to be more specific with the exception type(s) that you want to try in a blocking fashion.

We could look at adding some mechanism to handle this use case but, in the meantime, use narrower exception types for blocking.

Replies: 1 comment 4 replies

Comment options

You must be logged in to vote
4 replies
@garyrussell
Comment options

@garyrussell
Comment options

@jgslima
Comment options

@garyrussell
Comment options

Answer selected by jgslima
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
2 participants