A fix is available
APAR status
Closed as program error.
Error description
CICS XID enhancement
Local fix
Problem summary
**************************************************************** * USERS AFFECTED: All. * **************************************************************** * PROBLEM DESCRIPTION: Two DB2 threads from two CICS regions * * involved in the same unit of work can * * deadlock. * **************************************************************** DB2 does not know that two threads from two different CICS regions may be from the same uow in which case it should share locks and not lock one thread out whilst the other thread holds the lock. Keywords: AD2Z ASP3 abendAD2Z abendASP3
Problem conclusion
The CICS-DB2 Attach will pass an XID to DB2. No changes are required from DB2, as it already supports passing an XID on signon from CICS-DB2 Attach. Two threads that pass the same XID will share locks and not deadlock. The passing of an XID will occur if feature toggle com.ibm.cics.db2.sharelocks is set to true. CICS-DB2 Attach will query MVS RRS to see if a unit of work was initiated from outside of CICS and being coordinated by MVS RRS. It will pass in the lu6.2 uowid as a filter and RRS will return the associated unit of recovery if there is one. If an RRS unit of recovery is returned, then CICS will obtain the XID associated with the RRS Unit of Recovery and pass the short form of it to DB2 (ie with no BQUAL). This scenario is the case when the initial part of a distributed unit of work ran under IMS/TM, invoked DB2, and then invoked CICS via appc/LU6.2. If RRS is not involved in the unit of work, CICS will generate an XID based on data from the LU6.2 uowid associated with the unit of work. All CICS regions participating in the same unit of work will generate the same XID from the same lu6.2 uowid. Passing an XID to DB2 involves a partial signon to DB2 at the start of each unit of work. The number of partial signons for existing workloads will increase compared with previous releases. A signon at the start of each unit of work will close any held cursors. Therefore when using an XID, the ability for held cursors to remain open across syncpoints is not supported. A subsequent fetch for a previously held cursor will receive a -501 sqlcode. The CICS Knowledge Center will be updated to reflect the support for CICS passing an XID to DB2 and the use of the com.ibm.cics.db2.sharelocks feature toggle.
Temporary fix
Comments
APAR Information
APAR number
PH31012
Reported component name
CICS TS Z/OS V5
Reported component ID
5655Y0400
Reported release
200
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2020-10-28
Closed date
2021-01-26
Last modified date
2021-02-01
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
UI73629 UI73630
Modules/Macros
DFHD2CC DFHD2CM1 DFHD2CO DFHD2D2 DFHD2DUF DFHD2EDF DFHD2EX1 DFHD2EX2 DFHD2EX3 DFHD2IN1 DFHD2MSB DFHD2RL DFHD2RP DFHD2ST DFHD2STP DFHD2STR DFHD2TM DFHD2TR1 DFHD2TRI DFHDSMT
Fix information
Fixed component name
CICS TS Z/OS V5
Fixed component ID
5655Y0400
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.
[{"Line of Business":{"code":"LOB35","label":"Mainframe SW"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSGMGV","label":"CICS Transaction Server"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"5.5"}]
Document Information
Modified date:
02 February 2021