oscerd opened a new issue, #9056:
URL: https://github.com/apache/camel-quarkus/issues/9056
`extensions/jta/.../TransactionalJtaTransactionPolicy.java`
Two sites swallow failures in the shared policy base class used by all six
`PROPAGATION_*` beans registered by `JtaProcessor`.
**`rollback(boolean isNew)`, lines 72-82**
```java
try {
if (isNew) {
transactionManager.rollback();
} else {
transactionManager.setRollbackOnly();
}
} catch (Throwable e) {
LOG.warn("Could not rollback transaction!", e);
}
```
In the participating case (`isNew=false`, i.e.
`PROPAGATION_REQUIRED`/`MANDATORY` joining an existing transaction) a failed
`setRollbackOnly()` is logged and discarded, so the outer transaction continues
as though it had been marked for rollback.
**`resumeTransaction(...)`, lines 88-98**
Same pattern — a failed `transactionManager.resume(...)` is logged and
discarded, leaving subsequent work running outside the transaction the caller
believes was resumed.
**Suggested fix**
Rethrow (or wrap and rethrow) in both places so a failed rollback,
rollback-marking, or resume does not allow subsequent work to proceed as if
transactional integrity were intact.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]