[jboss-jira] [JBoss JIRA] Closed: (JBTM-146) XAError during commit is reported as retriable by the participant when it should be a heuristic

Mark Little (JIRA) jira-events at jboss.com
Tue Oct 17 05:41:43 EDT 2006


     [ http://jira.jboss.com/jira/browse/JBTM-146?page=all ]

Mark Little closed JBTM-146.
----------------------------

    Resolution: Done

> XAError during commit is reported as retriable by the participant when it should be a heuristic
> -----------------------------------------------------------------------------------------------
>
>                 Key: JBTM-146
>                 URL: http://jira.jboss.com/jira/browse/JBTM-146
>             Project: JBoss Transaction Manager
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: JTA Implementation, JTS Implementation
>    Affects Versions: 4.2
>            Reporter: Mark Little
>         Assigned To: Mark Little
>             Fix For: 4.2.1
>
>          Time Spent: 30 minutes
>  Remaining Estimate: 0 minutes
>
> An XAException with errorcode -7 is RMFAIL, which means that the transaction coordinator does not know what state the resource manager is in. It may have committed or it may have rolled back (it could have done this autonomously). This may be a permanent failure of the resource manager or it may only be transient; the transaction manager has no way of knowing. At this point the transaction outcome is potentially non-atomic (an heuristic outcome) and outside the scope of the TM to try to resolve automatically. 
> In ATS 4.0.2, the failure during commit was masked and commit would return committed. What happened was that the failed resource was retained in the transaction log and recovery would try to complete the transaction later. This silent behaviour was wrong (a bug): the application needs to know that a potential heuristic outcome has occurred. Therefore, in ATS 4.0.3 the error is handled differently (correctly): the transaction will throw a heuristic exception and, as before, retain the reference to the XAResource in the hopes that the log can be used to resolve the potential heuristic. 
> The failure recovery subsystem retry mechanism has not changed. However, because the failure reported from the XAResource has changed, this impacts what failure recovery will do. In 4.0.2, the error (wrongly) was reported as being something that failure recovery could automatically try to deal with. Hence, when the recovery manager ran and found the log entry that referenced your XAResource, it would try to complete the transaction. In 4.0.3, the error is a heuristic, which cannot be managed automatically: that is the whole point of a heuristic error. It needs manual intervention. In this case, the recovery manager will ignore the log entry and do nothing. 

-- 
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

        



More information about the jboss-jira mailing list