Uploaded image for project: 'JBoss Enterprise Application Platform'
  1. JBoss Enterprise Application Platform
  2. JBEAP-8088

[GSS](7.2.0) XA resource with same RMid are not ended properly

    XMLWordPrintable

Details

    • Hide

      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 >

      Show
      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 >
    • The Artemis does not support this behaviour but Narayana does so it can be tested but the release notes should explain the limitation on Artemis

    Description

      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.

      During release of this we discovered that Artemis does not allow xa_end to be called on:
      ./build.sh -f testsuite/integration/smoke/pom.xml -Dtest=JMSBridgeTest

      It returns XAER_PROTO - after discussion with Mike we have provided a strict mode that does not allow XAER_PROTO however as it should be safe to allow this from the duplicate (consider non-JTA1.2 compliant XAR) we have disabled it by default. Other errors will be reported.

      Attachments

        Issue Links

          Activity

            People

              thjenkin@redhat.com Tom Jenkinson
              amitninja Amit Nijhawan (Inactive)
              Francesco Marchioni Francesco Marchioni
              Votes:
              1 Vote for this issue
              Watchers:
              14 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: