Since OpenEdge relinquishes transaction control for JTA transactions, it is dangerous to intervene and manually resolve outstanding JTA transactions. Intervention could compromise the referential integrity of the database as a result. Resolve JTA transactions manually only when there has been an unrecoverable catastrophic failure to the JTA transaction manager. When necessary, use PROMON to identify and resolve JTA transactions.

To resolve a JTA transaction with PROMON:

  1. Determine if one or more unresolved JTA transactions exist against a database by starting the PROMON database monitor. Enter the following command:
    promon db-name

    When you enter the PROMON utility, the main menu appears:

      OpenEdge MONITOR Release 12
      Database: /usr/dlc/sports
      1.  User Control
      2.  Locking and Waiting Statistics
      3.  Block Access
      4.  Record Locking Table
      5.  Activity
      6.  Shared Resources
      7.  Database Status
      8.  Shut Down Database
      9.  Currently Connected Tenants
    
      R&D.  Advanced Options
      T.  2PC Transactions Control
      L.  Resolve 2PC Limbo Transactions
      C.  2PC Coordinator Information
      J.  Resolve JTA Transactions
      M.  Modify Defaults
      Q.  Quit
      Enter your selection:
  2. Choose option J (Resolve JTA Transactions).

    PROMON displays a screen similar to the following:

    WARNING:  Committing or rolling back a JTA transaction can compromise 
    WARNING:  referential integrity.  Proceed with EXTREME caution.
         1.  Display all JTA Transactions
         2.  Rollback a JTA Transaction
         3.  Commit a JTA Transaction
         Q.  Return to main menu
         Enter your selection: 
  3. Choose 1. (Display all JTA Transactions).

    PROMON displays a screen similar to the following:

    OpenEdge Release 12 Monitor 
    Tran Id  Usr  JTA State            XID 
    1492      5   JTA 
    Prepared         4a982a20-49b7-11da-8cd6-0800200c9a66
    1494     16   JTA Active           0

    Take note of the Tran Id value for any outstanding transactions. You need this information to resolve the transaction.

  4. For each outstanding JTA transaction, determine if you are going to commit or rollback the transaction.
  5. If you are going to commit the transaction, select 2 from the Resolve JTA Transactions menu. If you are going to rollback the transaction, select 3. You are prompted to enter the transaction id value you noted in . You are prompted to confirm your decision. The transaction commit or rollback is logged in the database log file.
    CAUTION:

    Manually committing or rolling back a JTA transaction can compromise the referential integrity of the database.

Repeat Step 4 and Step 5 for all the outstanding JTA transactions. After you commit or abort all of the transactions, they are resolved.