A fix is available
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
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