IBM Support

PK27642: CPSM API SEQUENTIAL GETS CAUSES CPU UTILIZATION INCREASE AND SLOW RESPONSE

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Sequential gets of records from a CPSM QUEUE object may take an
    inordinate amount of time and CPU utilization.
    
    This will be most likely affect API programs, including the CPSM
    WUI, that retrieve a large number of records.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED: All CICSPlex/SM V3R1M0 Users                 *
    ****************************************************************
    * PROBLEM DESCRIPTION: Sequential writes and reads of records  *
    *                      to and from a CPSM QUEUE object may     *
    *                      take an inordinate amount of time and   *
    *                      CPU utilization.                        *
    *                                                              *
    *                      This will most likely affect API        *
    *                      programs, including the CPSM WUI, that  *
    *                      retrieve a large number of records.     *
    ****************************************************************
    * RECOMMENDATION: After applying the PTF that resolves this    *
    *                 APAR, all CMASes and MASes must be           *
    *                 restarted.  Note that the restarts do not    *
    *                 need to occur at the same time.              *
    ****************************************************************
    When a CPSM QUEUE structure is allocated, it is composed of a
    paired data (28kb) and index (4kb) block.  As records are
    written to the QUEUE, the data is placed in the data block, and
    a pointer to the record is placed in the index block.  When the
    data block is filled, an additional data and index block pair is
    allocated, and chained to from the current data and index block.
    
    Records are written to the QUEUE by calls to method EYU0XQPQ
    (XQPQ).  Every time XQPQ is called, it must chain from the first
    data block to the data block that has enough space to accept the
    record.
    
    Reading of the QUEUE is performed through calls to method
    EYU0XQGQ (XQGQ).  XQGQ can be asked to read the next record or a
    specific record in the QUEUE.  When called to read the next
    record, XQGQ starts with the first index block, and chains to
    the index block that points to the next record.
    
    For QUEUEs that have a large number of data and index blocks,
    the required chaining to the required data block for writes or
    the required index block for reads can result in unnecessary
    overhead, slowing user response.
    

Problem conclusion

  • XQPQ has been updated such that when it is called to perform a
    sequential write to the queue, it stores the pointer to the
    data block it wrote the record to in the header of the first
    data block.  On subsequent writes, XQPQ will retrieve the data
    block pointer and will use it to start the search as to where
    to place the next record.
    
    XQGQ has been updated such that when it is called to perform a
    sequential read for a QUEUE, it stores the pointer to the index
    block that points to the record in the header of the first data
    block.  When called to read the next record, XQGQ will retrieve
    the index pointer from the first data block header instead of
    chaining through the index blocks.
    
    Additionally, methods EYU0XQPR (XQPR) and EYU0XQRS (XQRS) have
    been updated to clear the data and index pointers when called to
    purge (XQPR) or reset (XQRS) a QUEUE structure.
    

Temporary fix

  •             *********
                * HIPER *
                *********
    FIX AVAILABLE BY PTF ONLY
    

Comments

  • Sequential writes and reads of records
    to and from a CPSM QUEUE object may
    take an inordinate amount of time and
    CPU utilization.
    
    This will most likely affect API
    programs, including the CPSM WUI, that
    retrieve a large number of records.
    
    
    When a CPSM QUEUE structure is allocated, it is composed of a
    paired data (28kb) and index (4kb) block.  As records are
    written to the QUEUE, the data is placed in the data block, and
    a pointer to the record is placed in the index block.  When the
    data block is filled, an additional data and index block pair is
    allocated, and chained to from the current data and index block.
    
    Records are written to the QUEUE by calls to method EYU0XQPQ
    (XQPQ).  Every time XQPQ is called, it must chain from the first
    data block to the data block that has enough space to accept the
    record.
    
    Reading of the QUEUE is performed through calls to method
    EYU0XQGQ (XQGQ).  XQGQ can be asked to read the next record or a
    specific record in the QUEUE.  When called to read the next
    record, XQGQ starts with the first index block, and chains to
    the index block that points to the next record.
    
    For QUEUEs that have a large number of data and index blocks,
    the required chaining to the required data block for writes or
    the required index block for reads can result in unnecessary
    overhead, slowing user response.
    
    
    XQPQ has been updated such that when it is called to perform a
    sequential write to the queue, it stores the pointer to the
    data block it wrote the record to in the header of the first
    data block.  On subsequent writes, XQPQ will retrieve the data
    block pointer and will use it to start the search as to where
    to place the next record.
    
    XQGQ has been updated such that when it is called to perform a
    sequential read for a QUEUE, it stores the pointer to the index
    block that points to the record in the header of the first data
    block.  When called to read the next record, XQGQ will retrieve
    the index pointer from the first data block header instead of
    chaining through the index blocks.
    
    Additionally, methods EYU0XQPR (XQPR) and EYU0XQRS (XQRS) have
    been updated to clear the data and index pointers when called to
    purge (XQPR) or reset (XQRS) a QUEUE structure.
    

APAR Information

  • APAR number

    PK27642

  • Reported component name

    CPSM CICS 3.1

  • Reported component ID

    5655M1501

  • Reported release

    100

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    YesHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2006-07-06

  • Closed date

    2006-10-10

  • Last modified date

    2006-11-02

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

    PK27668

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

    UK18644

Modules/Macros

  •    EYURXQSB EYU0XQGQ EYU0XQPQ EYU0XQPR EYU0XQRS
    EYU0XQUQ
    

Fix information

  • Fixed component name

    CPSM CICS 3.1

  • Fixed component ID

    5655M1501

Applicable component levels

  • R100 PSY UK18644

       UP06/10/12 P F610

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.

{"0":{"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"}},"419":{"Product":{"code":"SSGMGV","label":"CICS Transaction Server"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Line of Business":{"code":"LOB35","label":"Mainframe SW"}},"1":null,"2":null,"3":null,"4":null,"5":null,"6":null,"7":null,"8":null,"9":null,"10":null,"11":null,"12":null,"13":null,"14":null,"15":null,"16":null,"17":null,"18":null,"19":null,"20":null,"21":null,"22":null,"23":null,"24":null,"25":null,"26":null,"27":null,"28":null,"29":null,"30":null,"31":null,"32":null,"33":null,"34":null,"35":null,"36":null,"37":null,"38":null,"39":null,"40":null,"41":null,"42":null,"43":null,"44":null,"45":null,"46":null,"47":null,"48":null,"49":null,"50":null,"51":null,"52":null,"53":null,"54":null,"55":null,"56":null,"57":null,"58":null,"59":null,"60":null,"61":null,"62":null,"63":null,"64":null,"65":null,"66":null,"67":null,"68":null,"69":null,"70":null,"71":null,"72":null,"73":null,"74":null,"75":null,"76":null,"77":null,"78":null,"79":null,"80":null,"81":null,"82":null,"83":null,"84":null,"85":null,"86":null,"87":null,"88":null,"89":null,"90":null,"91":null,"92":null,"93":null,"94":null,"95":null,"96":null,"97":null,"98":null,"99":null,"100":null,"101":null,"102":null,"103":null,"104":null,"105":null,"106":null,"107":null,"108":null,"109":null,"110":null,"111":null,"112":null,"113":null,"114":null,"115":null,"116":null,"117":null,"118":null,"119":null,"120":null,"121":null,"122":null,"123":null,"124":null,"125":null,"126":null,"127":null,"128":null,"129":null,"130":null,"131":null,"132":null,"133":null,"134":null,"135":null,"136":null,"137":null,"138":null,"139":null,"140":null,"141":null,"142":null,"143":null,"144":null,"145":null,"146":null,"147":null,"148":null,"149":null,"150":null,"151":null,"152":null,"153":null,"154":null,"155":null,"156":null,"157":null,"158":null,"159":null,"160":null,"161":null,"162":null,"163":null,"164":null,"165":null,"166":null,"167":null,"168":null,"169":null,"170":null,"171":null,"172":null,"173":null,"174":null,"175":null,"176":null,"177":null,"178":null,"179":null,"180":null,"181":null,"182":null,"183":null,"184":null,"185":null,"186":null,"187":null,"188":null,"189":null,"190":null,"191":null,"192":null,"193":null,"194":null,"195":null,"196":null,"197":null,"198":null,"199":null,"200":null,"201":null,"202":null,"203":null,"204":null,"205":null,"206":null,"207":null,"208":null,"209":null,"210":null,"211":null,"212":null,"213":null,"214":null,"215":null,"216":null,"217":null,"218":null,"219":null,"220":null,"221":null,"222":null,"223":null,"224":null,"225":null,"226":null,"227":null,"228":null,"229":null,"230":null,"231":null,"232":null,"233":null,"234":null,"235":null,"236":null,"237":null,"238":null,"239":null,"240":null,"241":null,"242":null,"243":null,"244":null,"245":null,"246":null,"247":null,"248":null,"249":null,"250":null,"251":null,"252":null,"253":null,"254":null,"255":null,"256":null,"257":null,"258":null,"259":null,"260":null,"261":null,"262":null,"263":null,"264":null,"265":null,"266":null,"267":null,"268":null,"269":null,"270":null,"271":null,"272":null,"273":null,"274":null,"275":null,"276":null,"277":null,"278":null,"279":null,"280":null,"281":null,"282":null,"283":null,"284":null,"285":null,"286":null,"287":null,"288":null,"289":null,"290":null,"291":null,"292":null,"293":null,"294":null,"295":null,"296":null,"297":null,"298":null,"299":null,"300":null,"301":null,"302":null,"303":null,"304":null,"305":null,"306":null,"307":null,"308":null,"309":null,"310":null,"311":null,"312":null,"313":null,"314":null,"315":null,"316":null,"317":null,"318":null,"319":null,"320":null,"321":null,"322":null,"323":null,"324":null,"325":null,"326":null,"327":null,"328":null,"329":null,"330":null,"331":null,"332":null,"333":null,"334":null,"335":null,"336":null,"337":null,"338":null,"339":null,"340":null,"341":null,"342":null,"343":null,"344":null,"345":null,"346":null,"347":null,"348":null,"349":null,"350":null,"351":null,"352":null,"353":null,"354":null,"355":null,"356":null,"357":null,"358":null,"359":null,"360":null,"361":null,"362":null,"363":null,"364":null,"365":null,"366":null,"367":null,"368":null,"369":null,"370":null,"371":null,"372":null,"373":null,"374":null,"375":null,"376":null,"377":null,"378":null,"379":null,"380":null,"381":null,"382":null,"383":null,"384":null,"385":null,"386":null,"387":null,"388":null,"389":null,"390":null,"391":null,"392":null,"393":null,"394":null,"395":null,"396":null,"397":null,"398":null,"399":null,"400":null,"401":null,"402":null,"403":null,"404":null,"405":null,"406":null,"407":null,"408":null,"409":null,"410":null,"411":null,"412":null,"413":null,"414":null,"415":null,"416":null,"417":null,"418":null}

Document Information

Modified date:
22 February 2023