IBM Support

PH22246: UNEXPECTED BACKOUT OF A TRANSACTION AFTER A DB2 RESTART

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • A transaction called for a COMMIT.  RRS and MQ are participants
    in the 2 phase commit process.  RRS and MQ are both successful,
    but before Db2 has a chance to perform the log writes to
    commit the COMMIT, the Db2 thread is canceled.  Db2 is then
    taken down and brought back up.  Instead of Db2 committing the
    in-doubt thread, Db2 rolls it back and aborts.  Data can be
    become inconsitent.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    * All Db2 for z/OS users of the Resource                       *
    * Recovery Services attachment facility                        *
    * (RRSAF).                                                     *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    * During Db2 Restart processing, Db2                           *
    * aborted an indoubt Unit of Recovery                          *
    * (UR) for an RRSAF application that                           *
    * was using Two Phase Commit Protocols                         *
    * even though Resource Recovery                                *
    * Services (RRS) had driven the COMMIT                         *
    * exit to Db2. If the affected                                 *
    * transaction involved at least one                            *
    * other resource manager (RM) besides                          *
    * Db2, then this could cause                                   *
    * inconsistent results for the                                 *
    * transaction.                                                 *
    ****************************************************************
    * RECOMMENDATION:                                              *
    * Apply corrective PTF when available                          *
    ****************************************************************
    This condition occurs during a rare timing window, where:
    
    - RRS has driven the PREPARE exit to all affected resource
      managers (RMs) involved in the transaction being committed
      and all RMs have successfully responded back to RRS with a
      vote to COMMIT the transaction.
    - RRS begins driving the COMMIT exit to each of the
      RMs involved in the transaction being committed.
    - The thread on Db2 is cancelled via the Db2 CANCEL THREAD
      command before RRS drives the COMMIT exit to Db2.
    
    Because the thread has been cancelled, the COMMIT exit
    request is received by Db2, but the COMMIT processing for the
    UR in Db2 cannot be executed, as there is no longer an agent
    structure.  As a result, the UR on Db2 is put into an indoubt
    state.
    
    During resync processing at Db2 Restart time, Db2 does not
    take into account the RRS request to COMMIT the UR, so
    assumes that the UR is to be aborted instead.
    

Problem conclusion

  • Db2 has been changed to ensure that an indoubt UR for a
    cancelled thread against which RRS has driven the COMMIT
    exit will be committed during resync processing after Db2
    has been stopped using the Db2 STOP COMMAND (-STOP DB2) and
    subsequently started again using the Db2 START command
    (-START DB2).
    

Temporary fix

Comments

APAR Information

  • APAR number

    PH22246

  • Reported component name

    DB2 ZOS SUBSYS

  • Reported component ID

    5740XYR01

  • Reported release

    B10

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2020-02-14

  • Closed date

    2021-02-04

  • Last modified date

    2021-03-05

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

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

    UI73814 UI73815

Modules/Macros

  • DSN3RRSX
    

Fix information

  • Fixed component name

    DB2 ZOS SUBSYS

  • Fixed component ID

    5740XYR01

Applicable component levels

  • RB10 PSY UI73814

       UP21/02/13 P F102

  • RC10 PSY UI73815

       UP21/02/13 P F102

Fix is available

  • Select the PTF appropriate for your component level. You will be required to sign in. Distribution on physical media is not available in all countries.

[{"Line of Business":{"code":"LOB10","label":"Data and AI"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSEPEK","label":"Db2 for z\/OS"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"B10"}]

Document Information

Modified date:
06 March 2021