glassfish
  1. glassfish
  2. GLASSFISH-3916

[UB]Resource Adapter call to XATeminator.recover hangs if automatic recovery is enabled

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 9.1pe
    • Fix Version/s: 3.1.1_b06
    • Component/s: docs
    • Labels:
      None
    • Environment:

      Operating System: All
      Platform: All

      Description

      See forum post:
      http://forums.java.net/jive/thread.jspa?threadID=34201&tstart=0

      I am the developer for a JCA 1.5 resource adapter named DTPRA. Note that DTPRA
      works with WebSphere Application Server, WebLogic Application Server and JBoss
      Application Server.

      I needed to test DTPRA with the Sun App Server, so I downloaded Sun Java System
      Application Server Enterprise Edition 9.1 (build b58g-fcs) to test DTPRA.

      I am now testing transaction recovery, so I set automatic recovery to true.
      That is, I have the following in my domain.xml:

      <transaction-service automatic-recovery="true" heuristic-decision="rollback"
      keypoint-interval="65536" retry-timeout-in-seconds="600" timeout-in-seconds="0"
      tx-log-dir="$

      {com.sun.aas.instanceRoot}

      /logs"/>

      When I start the App Server with this setting, the App Server hangs and it
      never starts.

      Looking at trace output from DTPRA, it is clear that the following has happened:
      1) The App Server called the ResourceAdapter.start method for DTPRA.
      2) As part of DTPRA startup, DTPRA calls the App Server's XATerminator.recover
      method to see if there are inbound transactions to recover.

      The call to XATerminator.recover never returns. Apparently there is some sort
      of deadlock in the App Server when a resource adapter calls
      XATerminator.recover from the ResourceAdapter.start method.

      This only occurs when automatic recovery is enabled.

        Activity

        burdeasa created issue -
        Hide
        Sivakumar Thyagarajan added a comment -

        Thanks for filing this issue. Assigning to Jagadish to investigate further.

        Show
        Sivakumar Thyagarajan added a comment - Thanks for filing this issue. Assigning to Jagadish to investigate further.
        Hide
        Jagadish added a comment -

        assigning the issue to Sankar

        Show
        Jagadish added a comment - assigning the issue to Sankar
        Hide
        Jagadish added a comment -

        needs evaluation in jts module

        Show
        Jagadish added a comment - needs evaluation in jts module
        Hide
        sankara added a comment -

        Present Architecture doesn't allow any transactional activity till the
        transaction recovery is completed and file based transaction logs are cleaned
        up. It will be a big change to support in current release and will be targeted
        for V3.

        Show
        sankara added a comment - Present Architecture doesn't allow any transactional activity till the transaction recovery is completed and file based transaction logs are cleaned up. It will be a big change to support in current release and will be targeted for V3.
        Hide
        marina vatkina added a comment -

        Reassign

        Show
        marina vatkina added a comment - Reassign
        Hide
        sanandal added a comment -

        "Reclassifying as P4 because this issue is not deemed "must fix" for this v2.1
        release whose primary release driver is SailFin.
        This issue will be scrubbed after this release and will be given the right
        priority for the next release."

        Show
        sanandal added a comment - "Reclassifying as P4 because this issue is not deemed "must fix" for this v2.1 release whose primary release driver is SailFin. This issue will be scrubbed after this release and will be given the right priority for the next release."
        Hide
        marina vatkina added a comment -

        Post v3

        Show
        marina vatkina added a comment - Post v3
        Hide
        marina vatkina added a comment -

        Will look into it...

        Show
        marina vatkina added a comment - Will look into it...
        Hide
        marina vatkina added a comment -

        With all the latest changes this seems to be fixed in 3.1. Please reopen if
        there is an exact scenario that causes any problems.

        Show
        marina vatkina added a comment - With all the latest changes this seems to be fixed in 3.1. Please reopen if there is an exact scenario that causes any problems.
        kenaiadmin made changes -
        Field Original Value New Value
        issue.field.bugzillaimportkey 3916 35520
        Hide
        Jagadish added a comment -

        After talking to Marina, re-opening and marking this issue for release-notes.

        " It is not advisable to do transactional activity (eg: starting a transaction / calling XATerminator.recover) during ResourceAdapter.start()). "

        Refer the original thread for more details :

        http://markmail.org/message/ogc7qndhaywfkdrp#query:+page:1+mid:kyyzpcexusbnv7ri+state:results

        Recently, we have encountered the following issue :
        http://java.net/jira/browse/GLASSFISH-15677
        Though we propose to fix the above issue ( GLASSFISH-15677 ), there are other use-cases that might result in similar deadlock as stated in this issue ( GLASSFISH-3916).

        Show
        Jagadish added a comment - After talking to Marina, re-opening and marking this issue for release-notes. " It is not advisable to do transactional activity (eg: starting a transaction / calling XATerminator.recover) during ResourceAdapter.start()). " Refer the original thread for more details : http://markmail.org/message/ogc7qndhaywfkdrp#query:+page:1+mid:kyyzpcexusbnv7ri+state:results Recently, we have encountered the following issue : http://java.net/jira/browse/GLASSFISH-15677 Though we propose to fix the above issue ( GLASSFISH-15677 ), there are other use-cases that might result in similar deadlock as stated in this issue ( GLASSFISH-3916 ).
        Jagadish made changes -
        Component/s docs [ 10597 ]
        Component/s jts [ 10605 ]
        Jagadish made changes -
        Resolution Fixed [ 1 ]
        Status Resolved [ 5 ] Reopened [ 4 ]
        Hide
        marina vatkina added a comment -

        We have 2 choices:
        a) RN it
        b) Document in 2 chapters - Transactions and Connectors - to get attention of all users

        Show
        marina vatkina added a comment - We have 2 choices: a) RN it b) Document in 2 chapters - Transactions and Connectors - to get attention of all users
        marina vatkina made changes -
        Assignee marina vatkina [ mvatkina ] Paul Davies [ pauldavies ]
        Status Whiteboard |v3_excluded v3_excluded
        Chris Kasso made changes -
        Tags 3_1-release-notes
        Paul Davies made changes -
        Summary Resource Adapter call to XATeminator.recover hangs if automatic recovery is enabled [UB]Resource Adapter call to XATeminator.recover hangs if automatic recovery is enabled
        Hide
        Paul Davies added a comment -

        As this issue is included in the 3.1 Release Notes, the fix in the base documentation can be deferred until 3.2.

        Show
        Paul Davies added a comment - As this issue is included in the 3.1 Release Notes, the fix in the base documentation can be deferred until 3.2.
        Paul Davies made changes -
        Assignee Paul Davies [ pauldavies ] Rebecca Parks [ junesm ]
        Fix Version/s 3.2 [ 10969 ]
        Fix Version/s 3.1 [ 10968 ]
        Scott Fordin made changes -
        Tags 3_1-release-notes 3_1-release-note-added 3_1-release-notes
        Hide
        Scott Fordin added a comment -

        Added topic to 3.1 Release Notes.

        Show
        Scott Fordin added a comment - Added topic to 3.1 Release Notes.
        Paul Davies made changes -
        Fix Version/s 3.1.1 [ 14740 ]
        Fix Version/s 3.2 [ 10969 ]
        Hide
        Rebecca Parks added a comment -

        Added the Release Notes info to the Administration Guide's chapter on transactions, specifically the section on recovery limitations.

        Show
        Rebecca Parks added a comment - Added the Release Notes info to the Administration Guide's chapter on transactions, specifically the section on recovery limitations.
        Rebecca Parks made changes -
        Status Reopened [ 4 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Hide
        scatari added a comment -

        Fixing the target version to include the correct build number.

        Show
        scatari added a comment - Fixing the target version to include the correct build number.
        scatari made changes -
        Fix Version/s  3.1.1_b06 [ 14737 ]
        Fix Version/s 3.1.1 [ 14740 ]

          People

          • Assignee:
            Rebecca Parks
            Reporter:
            burdeasa
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: