[ https://issues.apache.org/jira/browse/GERONIMO-4519?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12666594#action_12666594 ]
Lin Sun commented on GERONIMO-4519: ----------------------------------- I have been reading the XA spec again on this topic today. I have to say the spec is rather confusing. Initially, I interpreted XA_RBROLLBACK as transaction has already been rolled back by the XAResource when the XAResource returns XA_RBROLLBACK as the result of XAResource.end() method. However when I read the spec again today, I think that is not a safe conclusion. Here is what I conclude: If XA_RBROLLBACK arisen from XAResource.end() method, it means "The resource manager marked the transaction branch rollback-only for an unspecified reason.", per page 80 of XA+ spec, version 2 from the open group. If XA_RBROLLBACK arisen from XAResource.commit() method, it means "The resource manager rolled back the transaction branch for an unspecified reason.", per page 73 of XA spec. The spec gave the same explanation for XA_RBROLLBACK when arisen from XAResource.rollback() or prepare() method. So when TM calls XAResource.end() method with TMFAIL flag and got a XA_RBROLLBACK exception, I think TM should continue with the rollback method and call the XAResource.rollback() explicitly to ensure the transaction is rolled back. Comments? > When XAException.XA_RBROLLBACK arisen from XAResource.end, TM should not send > rollback request again to the XAResource > ---------------------------------------------------------------------------------------------------------------------- > > Key: GERONIMO-4519 > URL: https://issues.apache.org/jira/browse/GERONIMO-4519 > Project: Geronimo > Issue Type: Bug > 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 > > > as titled, when XAException is XA_RBROLLBACK from XAResource.end, which > indicates that XAResource has already rolled back the transaction, there is > no need > to send rollback request to the XAResource. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.