[
https://issues.apache.org/jira/browse/GERONIMO-4466?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Lin Sun updated GERONIMO-4466:
------------------------------
Affects Version/s: 2.1.4
Fix Version/s: 2.1.4
> Improve exception during transaction manager commit when there are multiple
> XAResources
> ---------------------------------------------------------------------------------------
>
> Key: GERONIMO-4466
> URL: https://issues.apache.org/jira/browse/GERONIMO-4466
> 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
>
>
> When tm.commit is invoked and there are multiple XAResources enlisted. if
> there are one or more XAExceptions arisen from one or more of these
> XAResources during commit, the code simply throws SystemException. I propose
> the following updates to provide more detailed exceptions:
> 1. If the XAException is XAException.XA_HEURRB from one XAResource and there
> is no other exceptions from other XAResources, we throw
> HeuristicMixedException (because there are heuristic conditions and some are
> committed some are rolled back), and call the XAResource to forget.
> 2. If all XAResources report XAException.XA_HEURRB, we throw
> HeuristicRollbackException, and call the these XAResources to forget
> 3. If the XAException is XAException.XA_HEURRB from one or more XAResources
> however one or more XAResource are able to commit something (either no
> exception during commit, or throw XAException.XA_HEURMIX
> /XAException.XA_HEURCOM to indicate something gets committed), we throw
> HeuristicMixedException, and call the XAResources to forget.
> 2. If the XAException is XAException.XA_HEURMIX from one XAResource, and no
> matter what other heuristic exceptions reported by other XAResources, we
> throw HeuristicMixedException, and call the XAResource to forget
> 3. If the XAException is XAException.XA_HEURCOM, we don't need to inform the
> transaction originator, but we want to call XAResource to forget.
> Comments welcome.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.