IBM Support

PH18042: INCORRECT UOWEXCEPTION THROWN FROM UOWMANAGER WHEN SUBORDINATE TRANSACTION IS MARKED FOR ROLLBACK ONLY

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • If a JTA transaction started via the UOWManager interface is
    propagated to a downstream server and is marked for rollback
    then the UOWManager throws a UOWException with a cause of
    javax.transaction.RollbackException: Global transaction
    rolledback from client inactivity timeout from subordinate
    
    This UOWException is being thrown, in error, whenever the
    subordinate transaction branch is marked for rollback for any
    reason.  It should only be thrown if a client inactivity
    timeout occurred in the subordinate transaction.
    

Local fix

  • N/A
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  All users of IBM WebSphere Application      *
    *                  Server                                      *
    ****************************************************************
    * PROBLEM DESCRIPTION: UOWManager.runUnderUOW threw a          *
    *                      UOWException when a                     *
    *                      UOWActionException was expected         *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    If the UOWManager is used to execute a UOWAction under a new
    JTA transaction and the UOWAction.run() method throws a checked
    Exception then the UOWManager should, in general, throw a
    UOWActionException wrapping the checked Exception.
    However, if the JTA transaction has timed out then the
    UOWManager must throw a UOWException with the cause set to a
    javax.transaction.RollbackException. This is to ensure that
    the caller is aware that the unit of work has rolled back
    since the timeout may have occurred after the UOWAction has
    completed but before the transaction is rolled back.
    Changes made under APAR PM83253 to ensure that a client
    inactivity timeout in a subordinate process correctly led to a
    UOWException being thrown, also resulted in the UOWException
    in any case where the subordinate transaction was marked for
    rollback, not just if a client inactivity timeout had occurred.
    

Problem conclusion

  • The transaction service was modified so that a client
    inactivity timeout in a subordinate process was handled
    differently from other cases where the subordinate transaction
    was marked for rollback.
    
    The fix for this APAR is targeted for inclusion in fix packs
    8.5.5.17 and 9.0.5.3.  For more information, see 'Recommended
    Updates for WebSphere Application Server':
    http://www.ibm.com/support/docview.wss?rs=180&uid=swg27004980
    

Temporary fix

Comments

APAR Information

  • APAR number

    PH18042

  • Reported component name

    WEBS APP SERV N

  • Reported component ID

    5724H8800

  • Reported release

    850

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2019-10-15

  • Closed date

    2020-03-02

  • Last modified date

    2020-03-02

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Fix information

  • Fixed component name

    WEBS APP SERV N

  • Fixed component ID

    5724H8800

Applicable component levels

  • R850 PSY

       UP

  • R900 PSY

       UP

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSEQTP","label":"WebSphere Application Server"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"8.5","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
02 November 2021