IBM Support

PM86952: CONTRACTION FOR MULTI-BLOCK SEGMENTS FOR 64BIT DB2 STORAGE POOLS

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as new function.

Error description

  • When the original design was done for storage pools consisting
    of 64bit Above-the-bar ( ATB ) storage, it was felt that it
    would not be necessary to contract these pools.  Having more
    thread storage shifted to these pools from 31bit usage, has
    proven that there are some environments which result in very
    large amounts of storage to accumulate in these multi-block
    segments.  When this storage is later freed, much of this
    storage will remain backed in REAL because it is not contracted.
    Also, there have been cases where POOL FULL RSN00E2000C occur
    which may be relieved by contraction, even though there are
    tuning or application changes which may reduce the actual
    storage usage.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED: All DB2 V10 users                            *
    ****************************************************************
    * PROBLEM DESCRIPTION: (1)                                     *
    *                      Thread 64bit Shared Variable storage    *
    *                      slowly increases over time as observed  *
    *                      in IFCID225 record, field QW0225SV.     *
    *                      (2)                                     *
    *                      ABEND0C4 DSNSVBK when the thread is     *
    *                      canceled while performing contraction   *
    *                      and DSNSCON2 FRR returns to DSNSVBK     *
    *                      with a zero recovery stack pointer.     *
    *                      Since contraction is likely during      *
    *                      a MUST COMPLETE process, DB2 may        *
    *                      terminate.                              *
    *                      (3)                                     *
    *                      DSNSVSVB ABEND04E RC00E2000C when the   *
    *                      thread encounters Pool Full.            *
    ****************************************************************
    * RECOMMENDATION: Apply apar                                   *
    ****************************************************************
    (1)
    The original design implemented for DB2 storage pool
    contraction, did not include those size slots which contain
    multiple fixed blocks per expansion segment. In analyzing
    various dumps from customers and internal testing, it was
    observed that pools sometimes had significant FREE storage tied
    up in these slots.  By contracting these slots, REAL FRAME usage
    may be reduced since the corresponding virtual storage would be
    available for reuse by other threads, thus not having to back
    additional frames.  Reducing the virtual storage within a given
    pool could potentially prevent requests from being abend04E
    with RC00E2000C, pool full condition.
    (2)
    When a thread attempts to get storage from a pool and finds it
    is full, it will synchronously call contraction for that pool.
    If it is canceled while in the contraction module, that FRR
    recovers but does not handle the recovery stack correctly.
    (3)
    When threads are attempting to get 64bit storage from a system
    level pool and it is full, they will all try to perform
    contraction on that pool but only the one succeeds.  The
    remaining threads are not allowed to wait.  Instead, they
    return and retry their storage request but the pool is
    still full and they abend04E RC00E2000C.
    

Problem conclusion

Temporary fix

  • *********
    * HIPER *
    *********
    

Comments

  • (1)
    This apar extends the contraction function to include all slot
    sizes, those with multiple blocks per segment and those with one
    block per expansion segment.
    (2)
    Contraction will not retry canceled threads.
    (3)
    Contraction will be serialized and multiple threads contracting
    the same pool, will be allowed to wait while that occurs.
    

APAR Information

  • APAR number

    PM86952

  • Reported component name

    DB2 OS/390 & Z/

  • Reported component ID

    5740XYR00

  • Reported release

    A10

  • Status

    CLOSED UR1

  • PE

    NoPE

  • HIPER

    YesHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2013-04-12

  • Closed date

    2013-09-17

  • Last modified date

    2013-11-04

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

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

    UK97692

Modules/Macros

  • DSNLTMSC DSNSCON2 DSNSINTM DSNSSTUP DSNSVSFB DSNSVSFM DSNSVSGM
    DSNSVSPP DSNSVSVB DSNSVSVP DSNTXSTB
    

Fix information

  • Fixed component name

    DB2 OS/390 & Z/

  • Fixed component ID

    5740XYR00

Applicable component levels

  • RA10 PSY UK97692

       UP13/10/04 P F310 ½

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":"10.1","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":"10.1","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
04 November 2013