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

    • Steps to Reproduce:
      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

              Assignee:
              Takis Panagiotis Sotiropoulos
              Reporter:
              stephen.fikes Stephen Fikes
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: