[jbossts-issues] [JBoss JIRA] (JBTM-649) Support XAException.XA_RETRY in 2 phase commit -- Backward Compatibility issue

Clebert Suconic (JIRA) jira-events at lists.jboss.org
Thu May 3 12:14:18 EDT 2012


    [ https://issues.jboss.org/browse/JBTM-649?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12690132#comment-12690132 ] 

Clebert Suconic commented on JBTM-649:
--------------------------------------

The issue I was having was different. The XID1 was prepared/committed, XID2 was prepared/Retry

At this point no matter what happens XID2 has to be committed on recovery.

Recovery on my case was not working.. but it was a configuration issue.


So, this was not a bug indeed.
                
> Support XAException.XA_RETRY in 2 phase commit -- Backward Compatibility issue
> ------------------------------------------------------------------------------
>
>                 Key: JBTM-649
>                 URL: https://issues.jboss.org/browse/JBTM-649
>             Project: JBoss Transaction Manager
>          Issue Type: Feature Request
>      Security Level: Public(Everyone can see) 
>          Components: Recovery
>    Affects Versions: 4.6.1
>            Reporter: Yong Hao Gao
>            Assignee: Yong Hao Gao
>             Fix For:  4.6.1.CP04
>
>
> After upgrading from 4.4.0 to 4.6.1 (release for AS5), one of the JBoss Messaging test starts to fail. The scenario is:
> 1. We have two XAResources res1 and res2. Both are enlisted in a Transaction.
> 2. res1 sends a message to Queue1 (server1), res2 sends a message to Queue2 (server2).
> 3. delist res1 and res2 and commit the transaction.
> 4. During the commit process, we simulate a failure on res2.commit() so that the res1.prepare(), res2.prepare() and res1.commit() are all successful but res2.commit() will throw XAException.XA_RETRY exception -- eventually leaving the transaction in a Heuristic state.
> 5. Then we restore res2 back to normal, hoping that the Recovery Manager will kick in and recover the transaction. So we expect that the two sent messages will be received by the receiver. To allow the recovery to happen we give a 60 second timeout to receive the second message. But the result is the first message is received but the second message isn't.
> We know that it is not JTA compliant. But some users may still rely on the old behavior to work. 
> Suggestion: a system property can be provided to enable the old behavior if specified by user.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the jbossts-issues mailing list