A fix is available
APAR status
Closed as program error.
Error description
When in a multi region environment using DPL to move request from a QOR to an AOR, that is updating DB2 tables, a problem can occur if the transaction running in the AOR ABENDs. CICS is designated as the coordinator in the 2 phase commit, the request from MQ (QOR region) commits forward, but the changes made in DB2 and CICS are backed out. ADDITIONAL KEYWORDS: two-phase AD2R ABENDAD2R syncpoint mirror
Local fix
Problem summary
**************************************************************** * USERS AFFECTED: All CICS user accessing DB2 resources. * **************************************************************** * PROBLEM DESCRIPTION: SYNCPOINT processing, after a handled * * FORCEPURGE of a task within the DB2 * * interface, may lead to the inconsistent * * updating of resources. * **************************************************************** * RECOMMENDATION: * **************************************************************** A task updates a variety of CICS and external resources ( for example MQ ). For each resource updated its controlling manager will register an interest so it can take part in SYNCPOINT processing. A HANDLE-ABEND condition is active. The task then issues an SQL call which causes the DB2 Resource Manager Interface to be invoked. The request is passed to DB2 for execution. By this point the transaction is now running under an OTE(L8) TCB. Upon receipt of the request DB2 determines that the target resource ( DB2 Table ) is in use so places the caller in an internal wait. Due to other factors the target table remains unavailable for some time. At some point it is decided that the task is to be terminated, by user intervention, due to its lack of response. This is accomplished by the use of CEMT S TAS() FORCEPURGE, the action of which is to abend the L8 TCB waiting within DB2. DB2, via EOT broadcast, detects this abend and performs rollback recovery on any of its resource that have been altered by previous DB2 requests from this task. In parallel to the steps taken by DB2, CICS also takes steps to recover from the force purging of the task. This involves releasing controls blocks used in the management of the task's connection to DB2. It also removes the DB2 Resource manager's interest in SYNCPOINT processing for this task. Control returns to the application with and abend code AD2R. This abend code is HANDLED and application processing continues by issuing a EIP SYNCPOINT call. All interested resource managers are called to take part in commit processing, except DB2 as it reset its interest due to the earlier abend. As DB2 takes no part it cannot vote NO to commit so the call is successful, meaning DB2 resources have not been updated where others have been committed.
Problem conclusion
The task abend processing in CICS module DFHD2EX1 has been amended. It will still release the Connection control block but it will now retain the DB2 Resource Managers interest in SYNCPOINT processing for the task. The lack of a connection control block will cause SYNCPOINT requests to fail with a "LOST_OUR_THREAD" abend but this will lead to the DB2 Resource Manager voting against the committing of any updates.
Temporary fix
FIX AVAILABLE BY PTF ONLY
Comments
APAR Information
APAR number
PK36223
Reported component name
CICSTS 3.1 Z/OS
Reported component ID
5655M1500
Reported release
400
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2006-12-14
Closed date
2007-04-05
Last modified date
2007-05-02
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
UK23860
Modules/Macros
DESD2EX1 DFHD2EX1
Fix information
Fixed component name
CICSTS 3.1 Z/OS
Fixed component ID
5655M1500
Applicable component levels
R400 PSY UK23860
UP07/04/12 P F704
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":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSGMGV","label":"CICS Transaction Server"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"3.1","Edition":"","Line of Business":{"code":"LOB35","label":"Mainframe SW"}},{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG19M","label":"APARs - z\/OS environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"3.1","Edition":"","Line of Business":{"code":"","label":""}}]
Document Information
Modified date:
02 May 2007