Call tm.rollback() when handling Status.ROLLING_BACK in CMTTxInterceptor.endTransaction() to correctly remove transaction from _transaction map

Solution Verified - Updated -

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

Environment

Red Hat JBoss Enterprise Application Platform 6.4.0_CP11

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase of over 48,000 articles and solutions.

Current Customers and Partners

Log in for full access

Log In
Close

Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.