IBM Support

PI72900: FF OF PI70095: IFI 306 READS TAKING LONGER, USING MORE CPU, REQUESTING MORE CLAIMS WHEN LOG RECORDS NEED TO DECOMPRESS

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Performance degradation during IFI306 READS calls. Retrieving
    
    log records using IFI 306 READS can take longer and can use more
    
    CPU when the log records are compressed. To be able to
    
    decompress the log records the compression dictionary is
    
    required. To make the dictionary available and to guarantee
    
    that the correct dictionary is used, requires additional
    
    processing (which can result in a significant increase in CPU
    
    usage).
    
    Another symptom of this problem is a very large increase in the
    
    number of claim requests for threads issuing the IFI306
    
    requests (such as log read tasks of data replication products).
    
    Additional keywords: DB2STGLK/K
    

Local fix

  • (1) If REORG is done by non-DB2 third party vendors, then
    
        specify KEEPDICTIONARY for CDC-enabled table spaces.
    
    (2) If REORG is done by V11 DB2 without KEEPDICTIONARY, then
    
        avoid deletion of SYSIBM.SYSCOPY rows with ICTYPE = J
    
        before replication.
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    * Data Capture applications using IFI 306 to read compressed   *
    * log records from DB2 table spaces in DB2 V12.                *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    * Two problems when IFI 306 runs                               *
    * in DB2 for z/OS V12:                                         *
    * 1. Increased number of claims/declaims on pagesets under     *
    * certain circumstance during IFI 306.                         *
    * 2. Storage leak during IFI 306 if DB2 is unable to find the  *
    * archived dictionaries for older log records that need        *
    * decompression.                                               *
    ****************************************************************
    * RECOMMENDATION:                                              *
    * Increased number of claims/declaims on the pageset:          *
    * The code that finds the correct dictionary for decompression *
    * is called numerous times during IFI 306 READs, it results in *
    * increased number of Claims/Declaims since the code uses      *
    * Claim for serialization. This can happen under the following *
    * circumstances :                                              *
    * (A) Older dictionaries for the table spaces processed by IFI *
    * 306 cannot be found for some reason, in which   case the     *
    * code can be called for every single log record that needs    *
    * the older dictionary.                                        *
    * (B) IFI 306 is reading capture log records written for       *
    * concurrently running DML activities, in which case the code  *
    * can be called more often than normal.                        *
    * Storage leak :                                               *
    *                                                              *
    * During certain error conditions the storage allocated for    *
    * dictionaries did not get released on the assumption that it  *
    * would be released during commit or deallocate. But it did    *
    * not happen due to some missing control information.          *
    ****************************************************************
    

Problem conclusion

  • Code has been updated to use CLAIM only when absolutely needed
    and to ensure that storage is released in the error path where
    it was not released before.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PI72900

  • Reported component name

    DB2 OS/390 & Z/

  • Reported component ID

    5740XYR00

  • Reported release

    C10

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    YesHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2016-11-28

  • Closed date

    2017-01-25

  • Last modified date

    2018-02-06

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

    UI44236

Modules/Macros

  • DSNIDCML DSNIFDIC
    

Fix information

  • Fixed component name

    DB2 OS/390 & Z/

  • Fixed component ID

    5740XYR00

Applicable component levels

  • RC10 PSY UI44236

       UP17/02/10 P F702

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"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"12.0","Edition":"","Line of Business":{"code":"LOB10","label":"Data and AI"}},{"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":"12.0","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
06 February 2018