Join GitHub today
GitHub is home to over 36 million developers working together to host and review code, manage projects, and build software together.Sign up
WebSphereUowTransactionManager swallows original exception when commit fails for another reason [SPR-16102] #20650
It would be nice if the previous exception could be logged, when it is shadowed by a subsequent commit failure.
Reasoning: We are currently analysing a problem, where a JMS-Publish takes a long time and aborts after some timeout. This is the inner exception. During this time the global transaction is rolled back, which leads to an exception during commit. The behaviour is okay, but we have "lost" the actual cause of the problem.
Of course there are workaround, e.g. using a LoggingInterceptor around the transaction method, but that would log any exception (that will usually still be there after commit/rollback) not only the "shadowed" ones.
Backported to: 4.3.13
Juergen Hoeller commented
From the perspective of our code paths, this is also an alignment issue:
I'll add some extra logging in several places: debug-level when a callback exception is encountered (where we don't know the outcome yet), and error-level when we know it's been shadowed in a rollback case afterwards. We'll also store the original exception as application exception in our