Uploaded image for project: 'WildFly Transaction Client'
  1. WildFly Transaction Client
  2. WFTC-60

SubordinateXAResource#getRemainingTime is not calculating the remaining time correctly

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • 1.1.3.Final, 1.2.0.Final
    • 1.1.2.Final
    • None

      The current calculation of the remaining time for a SubordinateXAResource is incorrect because it is assuming that the elapsed time is in microseconds when it is in nanoseconds.

      The current calculation is done using:

        int getRemainingTime() {
              long elapsed = max(0L, System.nanoTime() - startTime);
              final int capturedTimeout = this.capturedTimeout;
              return capturedTimeout - (int) min(capturedTimeout, elapsed / 1_000_000L);
          }
      

      However, System.nanoTime() is in nanoseconds, so we have to divide by 1_000_000_000L in order to get seconds to compare with the capturedTimeout.

      Since WFTC-54, an exception is thrown if the remaining timeout is up, which is affecting one of the tests in wildfly, see WFLY-11670 for more information.

              yborgess1@redhat.com Yeray Borges Santana
              yborgess1@redhat.com Yeray Borges Santana
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

                Created:
                Updated:
                Resolved: