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

[GSS](7.2.z) WFTC-54 - Integration with Narayana fails when timeout propagation over remote call declares it as '0' causing UserTransaction timeout to not work

XMLWordPrintable

      If the remote call passes transaction context where timeout is set as `0` then Narayana consider that value as transaction which should never be timetouted. But the wfly txn client consider the `0` as correct timeout value which means kind of `immediate timeout`.
      The Narayana AtomicAction class consider it as -1[2] (which is used for subordinate transaction[3]) while the transaction reaper consider the value of no timeout to be 0[4].

      The client decreases[1] the timeout based on how much time elapsed from the transaction was started till time the remote call is to be accomplished. That means the timeout `0` can be passes even the transaction is not meant as `to never timeout`.

      [1] https://github.com/wildfly/wildfly-transaction-client/blob/1.1.2.Final/src/main/java/org/wildfly/transaction/client/AbstractTransaction.java#L141
      [2] https://github.com/jbosstm/narayana/blob/5.9.2.Final/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/AtomicAction.java#L61
      [3] https://github.com/jbosstm/narayana/blob/5.9.2.Final/ArjunaJTA/jta/classes/com/arjuna/ats/internal/jta/transaction/arjunacore/subordinate/SubordinateAtomicAction.java#L68
      [4] https://github.com/jbosstm/narayana/blob/5.9.2.Final/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/coordinator/TransactionReaper.java#L531

            istudens@redhat.com Ivo Studensky
            rhn-support-bmaxwell Brad Maxwell
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              Resolved: