IBM Support

PH45504: -DIS THD(*) DOES NOT ALWAYS ALLOW TO DETERMINE THE CURRENT STATE OF A DDF THREAD

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • The -DISPLAY THREAD(*) command does not allow to accurately
    determine the current state of a DDF thread that is using
    KEEPDYNAMIC(YES) or High Performance DBAT (HPDBAT).
    When a KEEPDYNAMIC(YES) or HPDBAT thread reaches a commit point,
    the DBAT and connection are kept together (the DBAT is not
    pooled).
    Using the -DIS THD(*) command output for these threads, you
    cannot distinguish between the case where such a thread is
    processing SQL requests as part of an active transaction, or
    whether such a thread has reached a transaction boundary and is
    just waiting for a new request to come in that will start a new
    transaction.
    As IFCID 0148 READS requests use the same thread status
    information as -DIS THD, this also applies to IFCID0148
    requests.
    
    
    Additional symptoms or keywords:
    ********************************
    Db2DDF DDF HIPERF HPDBAT
    

Local fix

  • N/A
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    * All Db2 for z/OS Distributed Data Facility                   *
    * (DDF) Users.                                                 *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    * Inability to determine the status                            *
    * of an active distributed server                              *
    * thread (DBAT) in a wait state.                               *
    ****************************************************************
    * RECOMMENDATION:                                              *
    * Apply corrective PTF when available                          *
    ****************************************************************
    When a Db2 -DISPLAY THREAD command or an external monitoring
    tool using IFCID148 is used to determine the active threads
    running in a Db2 subsystem, any active DBAT is always shown
    with a status of RA. Since some active DBATs are
    well-behaved while some are not, one is unable to correctly
    identify the actual status of a DBAT. If the purpose of
    utilizing the -DISPLAY THREAD command or IFCID148 data was
    to locate a misbehaving DBAT with the aim of cancelling the
    DBAT, the inability to determine a DBAT's actual status may
    result in a DBAT being incorrectly terminated.
    Also, when a dump of a Db2 subsystem is presented to IBM
    for problem analysis, the true status of a DBAT in the dump
    is cumbersome to determine.
    

Problem conclusion

  • Db2 has been changed to provide additional thread status
    values for distributed server threads (DBATs) in the output
    of a -DISPLAY THREAD command or IFCID148 data obtained via
    an IFC READS call. The new values will be displayed or
    returned, depending on the actual status of a DBAT, instead
    of a status value of RA, which would have been previously
    displayed or returned prior to the installation and
    activation of this APAR.
    The new status values are:
    RP - denotes an active, high performwance DBAT waiting for
         the next transaction from its remote connection and the
         DBAT is not a candidate for idle thread detection and
         termination based on IDTHTOIN subsystem parameter
    RD - denotes an active, KeepDynamic-refreshable DBAT
         waiting for the next transaction from its remote
         connection and the DBAT is not a candidate for idle
         thread detection and termination based on IDTHTOIN
         subsystem parameter
    RH - denotes an active DBAT waiting for the next transaction
         from its remote connection but it is being kept active
         with its connection due to resources being held past a
         commit/rollback. A DBAT with this status is a candidate
         for idle thread detection and termination based on
         IDTHTOIN subsystem parameter. The possible
         resources are:
         - open, WITH HOLD cursor(s)
         - allocated declared global temporary table(s)
         - held lob locators
         - commit performed within a stored procedure which
           requires a two-phase commit/rollback from the
           client connection
         - active KEEPDYNAMIC package(s) but the client did
           not request KeepDynamic refresh
    Note: a client connection must inform Db2 that it is
    performing sysplex workload balancing or client affinities
    when using KEEPDYNAMIC packages to enable
    KeepDynamic refresh.
    The new distributed thread status values have also been
    added to the Db2 Dump Formatter, option DS=x, for the
    threads that originate and are running in the ssidDIST
    address space.
    Refer to this APAR's ++HOLD DOC for more details on the new
    thread status values.
    The online product documentation will be updated for both
    Db2 12 and Db2 13:
    https://www.ibm.com/docs/en/db2-for-zos/12 and
    https://www.ibm.com/docs/en/db2-for-zos/13.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PH45504

  • Reported component name

    DB2 OS/390 & Z/

  • Reported component ID

    5740XYR00

  • Reported release

    C10

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2022-04-06

  • Closed date

    2022-07-05

  • Last modified date

    2022-08-02

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

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

    UI81313 UI81314

Modules/Macros

  • DSNWDFDS DSNVDTA  DSNWAACT
    

Fix information

  • Fixed component name

    DB2 OS/390 & Z/

  • Fixed component ID

    5740XYR00

Applicable component levels

  • RC10 PSY UI81313

       UP22/07/13 P F207

  • RD10 PSY UI81314

       UP22/07/13 P F207

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.

[{"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":"12.0","Line of Business":{"code":"LOB10","label":"Data and AI"}}]

Document Information

Modified date:
02 August 2022