geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Lin Sun (JIRA)" <j...@apache.org>
Subject [jira] Commented: (GERONIMO-4519) When XAException.XA_RBROLLBACK arisen from XAResource.end, TM should not send rollback request again to the XAResource
Date Fri, 23 Jan 2009 16:43:59 GMT

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


Mime
View raw message