-
Notifications
You must be signed in to change notification settings - Fork 38.3k
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
Exception thrown by TransactionSynchronization#afterCompletion is eaten and there is no way to catch and perform any operation [SPR-12560] #17162
Comments
Mohammad commented do we have any resolution date? |
Bulk closing outdated, unresolved issues. Please, reopen if still relevant. |
Yep, still relevant. Only issue is logging level had been decreased to debug, so devs won't even recognised, something went wrong, because in most setup's will filter debug level log messages. |
@slinstaedt, with which Spring Framework version(s) are you experiencing this? |
|
it was fixed by #30776 |
still relevant, logging alone does not help |
Mohammad opened SPR-12560 and commented
Exception thrown in TransactionSynchronization's afterComplete method doesn't be propagated back to calling method. Reason is org.springframework.transaction.support.TransactionSynchronizationUtils class invokeAfterCompletion has below implementation -
Since it is calling multiple synchronizer in a row hence they are eating exception and just logging it(which is clearly written as java doc). I think there should be a way to throw exception so that if required client code can perform some operation.
One solution would be to run afterComplete method in different threads and propagate exceptions with that thread. For programmatic transaction management, we would get know exception (Considering declarative transaction interceptors would not help as control won't come to client code)
Reference question in stackoverflow is - http://stackoverflow.com/questions/27563561/transactionsynchronization-sallow-runtimeexception-that-is-thrown-while-aftercom?noredirect=1#comment43558721_27563561
Affects: 4.0.3
The text was updated successfully, but these errors were encountered: