[JBoss JIRA] (JBTM-2850) Call xa_end on duplicate XAResource as per JTA 1.2 specification
by Tom Jenkinson (JIRA)
[ https://issues.jboss.org/browse/JBTM-2850?page=com.atlassian.jira.plugin.... ]
Tom Jenkinson commented on JBTM-2850:
-------------------------------------
This can likely be addressed somewhere around: https://github.com/jbosstm/narayana/blob/master/ArjunaJTA/jta/classes/com...
However it will also need addressing in all the other TransactionImple types (JTS, subordinate)
> 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: Enhancement
> 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)
7 years, 9 months
[JBoss JIRA] (JBTM-2850) Call xa_end on duplicate XAResource as per JTA 1.2 specification
by Tom Jenkinson (JIRA)
[ https://issues.jboss.org/browse/JBTM-2850?page=com.atlassian.jira.plugin.... ]
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)
7 years, 9 months
[JBoss JIRA] (JBTM-2850) Call xa_end on duplicate XAResource as per JTA 1.2 specification
by Tom Jenkinson (JIRA)
[ https://issues.jboss.org/browse/JBTM-2850?page=com.atlassian.jira.plugin.... ]
Tom Jenkinson updated JBTM-2850:
--------------------------------
Issue Type: Enhancement (was: Task)
> 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: Enhancement
> 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)
7 years, 9 months
[JBoss JIRA] (JBTM-2850) Call xa_end on duplicate XAResource as per JTA 1.2 specification
by Tom Jenkinson (JIRA)
[ https://issues.jboss.org/browse/JBTM-2850?page=com.atlassian.jira.plugin.... ]
Tom Jenkinson updated JBTM-2850:
--------------------------------
Summary: Call xa_end on duplicate XAResource as per JTA 1.2 specification (was: Enable )
> 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
>
>
> 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.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
7 years, 9 months
[JBoss JIRA] (JBTM-2850) Enable
by Tom Jenkinson (JIRA)
[ https://issues.jboss.org/browse/JBTM-2850?page=com.atlassian.jira.plugin.... ]
Tom Jenkinson updated JBTM-2850:
--------------------------------
Reporter: Tom Jenkinson (was: Amit Nijhawan)
> Enable
> -------
>
> Key: JBTM-2850
> URL: https://issues.jboss.org/browse/JBTM-2850
> Project: JBoss Transaction Manager
> Issue Type: Task
> Components: JTA
> Reporter: Tom Jenkinson
> Assignee: David Lloyd
> Fix For: 5.next
>
>
> 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.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
7 years, 9 months
[JBoss JIRA] (JBTM-2850) Enable
by Tom Jenkinson (JIRA)
[ https://issues.jboss.org/browse/JBTM-2850?page=com.atlassian.jira.plugin.... ]
Tom Jenkinson reassigned JBTM-2850:
-----------------------------------
Assignee: Tom Jenkinson (was: David Lloyd)
> Enable
> -------
>
> 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
>
>
> 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.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
7 years, 9 months
[JBoss JIRA] (JBTM-2850) Enable
by Tom Jenkinson (JIRA)
[ https://issues.jboss.org/browse/JBTM-2850?page=com.atlassian.jira.plugin.... ]
Tom Jenkinson updated JBTM-2850:
--------------------------------
Summary: Enable (was: [GSS](7.1.0) XA resource with same RMid are not ended properly)
> Enable
> -------
>
> Key: JBTM-2850
> URL: https://issues.jboss.org/browse/JBTM-2850
> Project: JBoss Transaction Manager
> Issue Type: Task
> Components: JTA
> Reporter: Amit Nijhawan
> Assignee: David Lloyd
> Fix For: 5.next
>
>
> 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.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
7 years, 9 months
[JBoss JIRA] (JBTM-2850) [GSS](7.1.0) XA resource with same RMid are not ended properly
by Tom Jenkinson (JIRA)
[ https://issues.jboss.org/browse/JBTM-2850?page=com.atlassian.jira.plugin.... ]
Tom Jenkinson moved JBEAP-8981 to JBTM-2850:
--------------------------------------------
Project: JBoss Transaction Manager (was: JBoss Enterprise Application Platform)
Key: JBTM-2850 (was: JBEAP-8981)
Issue Type: Task (was: Bug)
Workflow: GIT Pull Request workflow (was: CDW with loose statuses v1)
Component/s: JTA
(was: EJB)
(was: Transactions)
Steps to Reproduce: (was: Please find attached reproducer.zip
Steps to Reproduce:
1) Deploy the 2 wars (project 1 and project 2) in the same Jboss server.
2) Run the GUI client (mvn exec:java in sources files folder)
Actual results:
following logs shows that "end" method is only called on XAResource 1.
09:18:34,564 INFO { } [stdout] (EJB default - 1) start resource2 xid=< formatId=131077, gtrid_length=29, bqual_length=36, tx_uid=0:ffffac129ea0:6ee503a4:5864c6a7:11, node_name=1, branch_uid=0:ffffac129ea0:6ee503a4:5864c6a7:17, subordinatenodename=null, eis_name=unknown eis name >
09:18:34,565 INFO { } [stdout] (EJB default - 1) end resource1 xid=< formatId=131077, gtrid_length=29, bqual_length=36, tx_uid=0:ffffac129ea0:6ee503a4:5864c6a7:11, node_name=1, branch_uid=0:ffffac129ea0:6ee503a4:5864c6a7:17, subordinatenodename=null, eis_name=unknown eis name >
09:18:34,565 INFO { } [stdout] (EJB default - 1) prepare resource1 xid=< formatId=131077, gtrid_length=29, bqual_length=36, tx_uid=0:ffffac129ea0:6ee503a4:5864c6a7:11, node_name=1, branch_uid=0:ffffac129ea0:6ee503a4:5864c6a7:17, subordinatenodename=null, eis_name=unknown eis name >
09:18:34,574 INFO { } [stdout] (EJB default - 1) commit resource1 xid=< formatId=131077, gtrid_length=29, bqual_length=36, tx_uid=0:ffffac129ea0:6ee503a4:5864c6a7:11, node_name=1, branch_uid=0:ffffac129ea0:6ee503a4:5864c6a7:17, subordinatenodename=null, eis_name=unknown eis name >)
Affects Version/s: (was: 7.0.z.GA)
Fix Version/s: 5.next
(was: 7.1.0.GA)
> [GSS](7.1.0) XA resource with same RMid are not ended properly
> --------------------------------------------------------------
>
> Key: JBTM-2850
> URL: https://issues.jboss.org/browse/JBTM-2850
> Project: JBoss Transaction Manager
> Issue Type: Task
> Components: JTA
> Reporter: Amit Nijhawan
> Assignee: David Lloyd
> Fix For: 5.next
>
>
> 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/XA specifications.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
7 years, 9 months