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

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

XMLWordPrintable

    • 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()

      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).

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

                Created:
                Updated:
                Resolved: