IBM Support

PH13496: Q APPLY NEEDS TO CHANGE TO AVOID BOTH BROWSER AND PRUNE THREAD TRYING TO CLEAN DONEMSG SIMULTANEOUSLY.

A fix is available

Subscribe

You can track all active APARs for this component.

 

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