Tom Jenkinson created JBTM-1988:
-----------------------------------
Summary: Downgrade certain log messages when we end a branch using TMFAIL
Key: JBTM-1988
URL:
https://issues.jboss.org/browse/JBTM-1988
Project: JBoss Transaction Manager
Issue Type: Feature Request
Security Level: Public (Everyone can see)
Components: JTA, Resource Manager
Reporter: Tom Jenkinson
Assignee: Tom Jenkinson
Fix For: 5.0.0.Final
JBTM-1786 changed the XAResourceRecord::topLevelAbort such that the flag we send to
XAR::end() from TMSUCCESS to TMFAIL.
It is possible that when we call XAResource::end(TMFAIL) the branch may have been:
1. marked as rollback only
2. rolled back
From the XA spec: "The portion of work has failed. A resource
manager might choose to mark a transaction branch as rollback-only at this point. In fact,
a transaction manager does so for the global transaction. If a resource manager chooses to
do so also, xa_end() returns one of the [XA_RB∗] values. TMFAIL cannot be used in
conjunction with either TMSUSPEND or TMSUCCESS."
We cannot rely on the resource manager having rolled back the branch so we have to call
XAR::rollback. An example is DB2, in this case it _has_ rolled back the branch and so can
raise an XAException when we call rollback on it.
We should record if the RM has returned an XA_RBROLLBACK during end and if the RM then
returns XAER_RMFAIL during rollback we should downgrade the logging to debug level.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:
http://www.atlassian.com/software/jira