[jbossts-issues] [JBoss JIRA] (JBTM-1293) ATBridgeTest#testSimple counter isn't incrimented

Paul Robinson (JIRA) jira-events at lists.jboss.org
Wed Oct 10 04:22:03 EDT 2012


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

Paul Robinson commented on JBTM-1293:
-------------------------------------

I can confirm, the coordinator does send an async commit message to the participant:

{code}
    @WebMethod(operationName = "CommitOperation", action = "http://docs.oasis-open.org/ws-tx/wsat/2006/06/Commit")
    @Oneway
    @Action(input="http://docs.oasis-open.org/ws-tx/wsat/2006/06/Commit")
    public void commitOperation(...
{code}

This simplest solution is to just add the delays.
                
> ATBridgeTest#testSimple counter isn't incrimented
> -------------------------------------------------
>
>                 Key: JBTM-1293
>                 URL: https://issues.jboss.org/browse/JBTM-1293
>             Project: JBoss Transaction Manager
>          Issue Type: Feature Request
>      Security Level: Public(Everyone can see) 
>            Reporter: Paul Robinson
>            Assignee: Paul Robinson
>             Fix For: 5.0.0.M2
>
>
> See:
> http://172.17.131.2/view/Narayana+BlackTie/job/jbossts-narayana-java7/21/artifact/txframework/target/surefire-reports/org.jboss.narayana.txframework.functional.ATBridgeTest-output.txt
> {code}
>     @Test
>     public void testSimple() throws Exception
>     {
>         ut.begin();
>         client.incrementCounter(1);
>         ut.commit();
>         ut.begin();
>         int counter = client.getCounter();
>         ut.commit();
>         Assert.assertEquals(1, counter);
>     }
> {code}
> Even though the first transaction should have committed an update to the counter, it is still set to zero in the second transaction. 
> This happens intermittently (once so far). It also happened on Beacon which is notorious for test failures caused by things going slowly. I would suspect that the bridged JTA transaction in the first transaction hasn't quite finished the commit when the second transaction is begun.
> If the WS-AT coordinator sends an async commit to the participants and an async committed to the client, then this problem could happen if the client's 'committed' is received before the participant's 'commit' message.
> To verify this we need to check that the coordinator sends an async (@OneWay) commit message to the participant. In which case the simplest solution is to add a 5sec delay between the two transactions. We should also look for other tests that may be affected.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


More information about the jbossts-issues mailing list