Call tm.rollback() when handling Status.ROLLING_BACK in CMTTxInterceptor.endTransaction() to correctly remove transaction from _transaction map
Environment
Red Hat JBoss Enterprise Application Platform 6.4.0_CP11
Issue
We are seeing an issue as discussed and commented on at https://developer.jboss.org/message/950898#950898
Status.STATUS_COMMITTING:
Status.STATUS_COMMITTED:
Status.STATUS_PREPARED:
Status.STATUS_PREPARING:
Commit is called in parallel and the transaction is trying to commit so try to commit too: call tm.commit
TimerCMTTxInterceptor/LifecycleCMTTxInterceptor are using CMTTxInterceptor.endTransaction(), so they shouldn't need changes.
Status.STATUS_ROLLING_BACK can happen if the reaper has started to rollback the transaction
This is addressed upstream via https://issues.jboss.org/browse/WFLY-6214 and needs to be backported to EAP 6
Resolution
This will be addressed in EAP 6.4.0_CP12 via https://bugzilla.redhat.com/show_bug.cgi?id=1387319
Root Cause
Content from issues.jboss.org is not included.https://issues.jboss.org/browse/WFLY-6214
This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.