[jbossts-issues] [JBoss JIRA] (JBTM-2850) Call xa_end on duplicate XAResource as per JTA 1.2 specification

Tom Jenkinson (JIRA) issues at jboss.org
Tue Feb 21 03:06:00 EST 2017


     [ https://issues.jboss.org/browse/JBTM-2850?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Tom Jenkinson updated JBTM-2850:
--------------------------------
    Description: 
JTA 1.2 changed requirement:

"A transaction manager is, however, required to implicitly ensure the association of any associated XAResource is ended, via the appropriate XAResource.end call, immediately prior to completion;"

The change is that it no longer is confined to any associated ** resource **, but now specifies any associated ** XAResource **

What is happening at the moment for two difference instance of an XAR but where isSameRM is true:
Resource1 start  TMNOFLAGS
DuplicateResource1 start  TMJOIN
Resource2 start  TMNOFLAGS
Resource1 end  TMSUCCESS
Resource1 prepare
Resource2 end  TMSUCCESS
Resource2 prepare
Resource1 commit
Resource2 commit

Post https://java.net/jira/browse/JTA_SPEC-3 this should be:
Resource1 start  TMNOFLAGS
DuplicateResource1 start  TMJOIN
Resource2 start  TMNOFLAGS
Resource1 end  TMSUCCESS
DuplicateResource1 end  TMSUCCESS
Resource1 prepare
Resource2 end  TMSUCCESS
Resource2 prepare
Resource1 commit
Resource2 commit

  was:
A scenario with a EJB XA transaction between two applications (war).  The process is the following:

1. a client GUI is calling a remote EJB on project 1 that initiate the XA transaction.
2. The project 1 call a remote EJB on project 2 that create a new branch in XA transaction
3. the project 2 enlist two XA resources that share the same RMid. 
4. EJB call on both project 2 and project 1 and 2PC is initiated by project 1 to commit the XA transaction.

The expected behaviour is that "start" and "end" operations are called on both XA resource enlisted in project 2 as mentioned in JTA 1.2 specifications.





> Call xa_end on duplicate XAResource as per JTA 1.2 specification
> ----------------------------------------------------------------
>
>                 Key: JBTM-2850
>                 URL: https://issues.jboss.org/browse/JBTM-2850
>             Project: JBoss Transaction Manager
>          Issue Type: Task
>          Components: JTA
>            Reporter: Tom Jenkinson
>            Assignee: Tom Jenkinson
>             Fix For: 5.next
>
>
> JTA 1.2 changed requirement:
> "A transaction manager is, however, required to implicitly ensure the association of any associated XAResource is ended, via the appropriate XAResource.end call, immediately prior to completion;"
> The change is that it no longer is confined to any associated ** resource **, but now specifies any associated ** XAResource **
> What is happening at the moment for two difference instance of an XAR but where isSameRM is true:
> Resource1 start  TMNOFLAGS
> DuplicateResource1 start  TMJOIN
> Resource2 start  TMNOFLAGS
> Resource1 end  TMSUCCESS
> Resource1 prepare
> Resource2 end  TMSUCCESS
> Resource2 prepare
> Resource1 commit
> Resource2 commit
> Post https://java.net/jira/browse/JTA_SPEC-3 this should be:
> Resource1 start  TMNOFLAGS
> DuplicateResource1 start  TMJOIN
> Resource2 start  TMNOFLAGS
> Resource1 end  TMSUCCESS
> DuplicateResource1 end  TMSUCCESS
> Resource1 prepare
> Resource2 end  TMSUCCESS
> Resource2 prepare
> Resource1 commit
> Resource2 commit



--
This message was sent by Atlassian JIRA
(v7.2.3#72005)


More information about the jbossts-issues mailing list