A fix is available
APAR status
Closed as program error.
Error description
During STOPQ or program stop, Q Apply browser and Prune thread may race to clean IBMQREP_DONEMSG entries and attempt to delete the same MQ message from RECVQ. If they encounter MQ rollback or fail to commit the deleted MQ message then it may cause incorrect deletion and consequently a reapply of an already applied MQ message on subsequent STARTQ or program restart.
Local fix
Problem summary
**************************************************************** * USERS AFFECTED: 1- Q Apply * * 2- SQL Apply users * * 3- SQL / Rep users that utilize SQL / Rep * * remote bind * * 4- Capture users * * 5- Capture users * **************************************************************** * PROBLEM DESCRIPTION: 1- During STOPQ or program stop, Q * * Apply browser and Prune thread may * * race to clean IBMQREP_DONEMSG entries * * and attempt to delete the same MQ * * message from RECVQ. If they encounter * * MQ rollback or fail to commit the * * deleted MQ message then it may cause * * incorrect deletion and consequently a * * reapply of an already applied MQ * * message on subsequent STARTQ or * * program restart. * * 2- The user cannot identify the table * * row being reworked. * * 3- SQL / Rep remote bind job modified * * to include ASNMONITOR package * * 4- Capture always checks the Db2 * * catalog (prior to Db2 v12) to * * determine if the table is altered and * * needs to be REORG when activating a * * subscription. * * 5- The results are unpredictable when * * starting Capture using the timestamp * * option with a non data-sharing system. * **************************************************************** * RECOMMENDATION: * **************************************************************** 1- Races between Q Apply browser thread and Prune thread at STOPQ or program start to clean IBMQREP_DONEMSG may lead to incorrect deletion from RECVQ. This subsequently leads to reapplying of an already applied MQ transaction message with Q Apply reporting sql errors like duplicate rows or rows not found. 2- Apply currently neither explains why a rework occurs nor provides any details about the row being reworked. 3- In order to utilize ASNMON remotely the ASNMONITOR package must be bound remotely 4- It is not always possible to determine if REORG is required by querying the Db2 catalog. Only the user knows if the change was safe. 5- If you use the timestamp option when starting capture with a non data sharing system, the results will be unpredicatble.
Problem conclusion
1- Q Apply will prevent simultaneous cleanup of RECVQ or IBMQREP_DONEMSG by Browser thread and Prune thread at STOPQ or program startup by ensuring Prune thread commits and stops further pruning of the RECVQ before browser starts the final cleanup of IBMQREP_DONEMSG. 2- Enhance Apply to display the SQLCA and SQLDA when reworking an operation if the invocation parameter TRCRWK is specified. 3- Add the BIND PACKAGE statement for the ASNMONITOR package to the ASNBNDDR sample job 4- Introduce a new Q and SQL Capture startup parameter CAPSTART_REORGCHECK=N (default is Y) to turn off checking for REORG while capstarting subs. 5- Change Capture not to start from timestamp if the Db2 system is not data sharing. Display error message ASN7268E and stop. Note: ASNCLP has been updated from db2_v105fp11 s190723.
Temporary fix
Comments
APAR Information
APAR number
PH13496
Reported component name
WS REPLICATION
Reported component ID
5655L8800
Reported release
B33
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2019-06-17
Closed date
2019-08-20
Last modified date
2019-09-01
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
UI64865 UI64866 UI64867 UI64868
Modules/Macros
ASNAAPP ASNACMD ASNACMP ASNADMSP ASNAFET ASNAISO ASNAMAN ASNAPPLY ASNAPRS ASNAWPN ASNBNDDR ASNCAP ASNCATM ASNCCMD ASNCDINS ASNCLPAP ASNCLPCL ASNCLPCM ASNCLPCO ASNCLPMS ASNCLPQA ASNMCMD ASNMON ASNQACMD ASNQAHKT ASNQAPP ASNQBRWZ ASNQCAP ASNQCCMD ASNQDEP ASNQEXRP ASNQMFMT ASNQXFMT ASNRBASE ASNTDIFF ASNTDSP ASNTRC ASN2BASE
Fix information
Fixed component name
WS REPLICATION
Fixed component ID
5655L8800
Applicable component levels
RB33 PSY UI64865
UP19/08/28 P F908
RB34 PSY UI64866
UP19/08/29 P F908
RB35 PSY UI64867
UP19/08/28 P F908
RB36 PSY UI64868
UP19/08/28 P F908
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":"SSDP5R","label":"InfoSphere Replication Server"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"B33","Edition":"","Line of Business":{"code":"LOB10","label":"Data and AI"}}]
Document Information
Modified date:
01 September 2019