Fix swallow OptimisticLockingFailureException as GenericSpServerExcep…#3082
Closed
vasilchev wants to merge 1 commit into
Closed
Fix swallow OptimisticLockingFailureException as GenericSpServerExcep…#3082vasilchev wants to merge 1 commit into
vasilchev wants to merge 1 commit into
Conversation
…tion that prevents @retryable(includes = ConcurrencyFailureException.class) to work as expected Signed-off-by: vasilchev <vasil.ilchev@bosch.com>
Contributor
Author
|
Wrong assumption - @retryable is executed - it searches/compares the Exception with traversing=true (looping all exception causes as well, not a direct match). Having this said, retry is there, just Exception after the retries is mapped to Generic, because of missing mapper. If we completely remove the MAPPER, OptimisticLockException would be return to caller (could be REST) which is not a great design (at least custom exception should be returned). Better would be to actually introduce back a custom mapped exception for it |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
…tion that prevents @retryable(includes = ConcurrencyFailureException.class) to work as expected
Having entry 'OptimisticLockingFailureException' in 'MAPPED_EXCEPTION_ORDER' but not in 'EXCEPTION_MAPPING' (leftover) forces ExceptionMapper to map it to 'GenericSpServerException' which then breaks completely all the annotations for retry:
@Retryable(includes = ConcurrencyFailureException.class,Removing it from 'MAPPED_EXCEPTION_ORDER' now just returns it as is -> 'ConcurrencyFailureException' that will be handled by the '@retryable' annotations.