[jboss-jira] [JBoss JIRA] Commented: (JBMESSAGING-1745) Failed Transaction not get recovered (Compatibility issue be

Howard Gao (JIRA) jira-events at lists.jboss.org
Tue Nov 10 01:55:05 EST 2009


    [ https://jira.jboss.org/jira/browse/JBMESSAGING-1745?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12493919#action_12493919 ] 

Howard Gao commented on JBMESSAGING-1745:
-----------------------------------------

Retested it with a longer timeout and showed the test failed still. That confirms that TM has changed the behavior. 

As this is not a compliant feature, I will go on to uncomment this test as invalid (still valid for previous versions of JBM).

I'll make this test into two tests, one is for AS/EAP 4, and the other for EAP/AS 5.



> Failed Transaction not get recovered (Compatibility issue be
> ------------------------------------------------------------
>
>                 Key: JBMESSAGING-1745
>                 URL: https://jira.jboss.org/jira/browse/JBMESSAGING-1745
>             Project: JBoss Messaging
>          Issue Type: Bug
>    Affects Versions: 1.4.6.GA
>            Reporter: Howard Gao
>            Assignee: Howard Gao
>             Fix For: 1.4.6.GA.SP1, 1.4.7.GA
>
>
> 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.
> Using the same test with 4.4.0 the test passes.
> One thing that need to mention is that in the test we manually start the recovery manager using the following code:
> recoveryManager = RecoveryManager.manager(RecoveryManager.INDIRECT_MANAGEMENT);

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the jboss-jira mailing list