Uploaded image for project: 'Application Server 7'
  1. Application Server 7
  2. AS7-2700

Connections participating in transactions should not be eligable for idle-timeouts

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • None
    • 7.1.0.Alpha1
    • JCA
    • None

      Scott Marlow:

      I think the other part of the bug, is that connections shouldn't "idle-timeout" if they are enlisted into a transaction (which I believe should mean they are eligible for sharing).

      In other words, I believe the following should work:

      1. set idle-timeout-minutes=1 (currently this is 1 millisecond but 1 minute should also work).

      2. JTA transaction begins.

      3. Hibernate gets a non-xa resource X1 (database connection), enlists it into the transaction.

      4. Hibernate inserts a row into a database table using X1.

      5. Hibernate closes X1 which shouldn't make X1 eligible for idle-timeout handling, since it is still enlisted in the transaction.

      6. Hibernate gets a non-xa resource, X1 should be returned. Imagine that two minutes has elapsed since the transaction started, X1 should not be idle-timed out.

      7. Hibernate inserts another row into a database table using the resource that should still be X1. If the resource is not X1, the "ARJUNA12140: Adding multiple last resources is disallowed" error will occur.

      8. The JTA transaction is committed successfully.

      Maybe the IJ "idle-timeout" test case could simulate the above with a test case that doesn't run always but maybe is run selectively. I think the unit test will have to run for over a minute once the conversion error is fixed (e.g. since idle-timeout-minutes will be treated as minutes instead of milliseconds).

              jpederse@redhat.com Jesper Pedersen
              nickarls Nicklas Karlsson (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: