[
http://jira.jboss.com/jira/browse/JBTM-278?page=all ]
Jonathan Halliday reopened JBTM-278:
------------------------------------
The topLevelOnePhaseCommit does not deal with non-spec compliant RM (Oracle) that may
return a unexpected error code (specifically XA_HEURRB) from end. In such case forget is
never called, leading to locks staying in the RM. Probably need to change the catch block
so that it deals with that error code the same way it does with XA_RB codes, i.e. causes
rollback to be invoked. Rollback should then fail with a reasonable exception, causing
forget to be called in turn.
see also: JBossAS testsuite TransactionManagerUnitTestCase.testOneResourceCommitHeurRB()
XAResource.end error may not cause rollback
-------------------------------------------
Key: JBTM-278
URL:
http://jira.jboss.com/jira/browse/JBTM-278
Project: JBoss Transaction Manager
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: JTA Implementation
Affects Versions: 4.2.3.SP5
Reporter: Jonathan Halliday
Assigned To: Mark Little
Fix For: 4.4
An XAResource.end call may return an XA_RB* error. In such case, the resource should (but
currently does not) still get rollback called on it too. Update XAResourceRecord.java to
fix.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira