[ https://issues.apache.org/jira/browse/GERONIMO-4471?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Lin Sun resolved GERONIMO-4471. ------------------------------- Resolution: Fixed see subversion commits tab > improve heuristic exception handling in rollback when txmanager.commit is > called > -------------------------------------------------------------------------------- > > Key: GERONIMO-4471 > URL: https://issues.apache.org/jira/browse/GERONIMO-4471 > Project: Geronimo > Issue Type: Improvement > Security Level: public(Regular issues) > Components: transaction manager > Affects Versions: 2.1.4, 2.2 > Reporter: Lin Sun > Assignee: Lin Sun > Fix For: 2.1.4, 2.2 > > > Improve heuristic exception handling during rollback, when txmanager.commit > is called by providing a rollbackResourcesDuringCommit method to throw > appropriate heuristic exceptions. The logic is: > 1. If XAException.XA_HEURRB arisen from XAResource rollback, this means > transaction has been heuristically rolled back, thus we just throw normal > RollbackException. > 2. If XAException.XA_HEURMIX arisen from XAResource rollback, this means > transaction has been heuristically rolled back and committed, thus we just > throw HeuristicMixedException. > 3. If XAException.XA_HEURCOM arisen from XAResource rollback, this means > transaction has been heuristically committed. In this case, if transaction > has ever been committed (via other XAResources enlisted), then we throw > HeuristicMixedException. > 4. Other XAExceptions, throw SystemExceptions. > 5. If no specific XAException or only XAException.XA_HEURRB, throw > RollbackException. > The rollbackResourcesDuringCommit method will be used during the commit > context instead of the current rollbackResources method. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.