Uploaded image for project: 'WildFly'
  1. WildFly
  2. WFLY-5348

Propagate transaction timeout value for distributed transaction when using JTA and EJB remoting

    XMLWordPrintable

Details

    • Hide
      1. Configure set-tx-query-timeout=true on all data source pools
      2. Start a transaction on server 1
      3. Access a remote EJB (using EJB remoting without configuring JTS) on server 2
      4. During the distributed branch on server 2, execute a statement
        • Byteman can be used to confirm what is passed to java.sql.Statement.setQueryTimeout()
      Show
      Configure set-tx-query-timeout=true on all data source pools Start a transaction on server 1 Access a remote EJB (using EJB remoting without configuring JTS) on server 2 During the distributed branch on server 2, execute a statement Byteman can be used to confirm what is passed to java.sql.Statement.setQueryTimeout()

    Description

      When a transaction begins in "server 1" and an EJB remoting request is made to "server 2" the timeout value for the transaction branch in "server 2" is initially set to Integer.MAX_VALUE which means set-tx-query-timeout does not work properly on datasources enlisted in the distributed branch of the transaction in server 2. This essentially requests that statement execution not be timed out at all (though in some cases the large value seems to result in abnormally fast timeout after a couple of seconds).

      Attachments

        Issue Links

          Activity

            People

              psotirop@redhat.com Panagiotis Sotiropoulos
              rhn-support-sfikes Stephen Fikes (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: