IBM Support

PH27736: CORRECT IFAUSAGE FOR MQ JAVA TRANSACTIONS

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • When a CICS task first uses MQ from Java code an IFAUSAGE
    REGISTER call is made on the T8 TCB.  At the end of the task an
    IFAUSAGE DEREGISTER call is made.  However, this will be made on
    QR or an L8 and will never be made on the original T8 TCB.
    
    The IFAUSAGE DEREGISTER call returns an error, due to being
    issued on the wrong TCB, and leaves the original IFAUSAGE
    registration block associated with the T8 TCB.
    
    Over time these blocks can mount up leading to a performance
    issue when future IFAUSAGE calls are made on that T8 TCB.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED: All CICS users.                              *
    ****************************************************************
    * PROBLEM DESCRIPTION: Build up of IFAUSAGE registration       *
    *                      blocks due to IFAUSAGE DEREGISTER calls *
    *                      being issued on a different TCB to the  *
    *                      one that issued the REGISTER call.      *
    ****************************************************************
    A switch environment call allows a TRUE to dissociate any state
    from an open TCB when it switches between application
    environments, such as a Java environment, an xplink C
    environment or a regular non xplink, non Java environment such
    as traditional Cobol, PLI, or assembler.
    
    When the CICS-MQ Attach was enhanced to run on any key 8 TCB, it
    was thought that expressing interest in switch environment calls
    was not required because there is no state associated with the
    TCB that needed to be dereferenced. This was incorrect as use of
    IFAUSAGE creates such an affinity.
    
    When a CICS transaction first uses MQ from Java code an IFAUSAGE
    REGISTER call is made on the T8 TCB.  At the end of the task an
    IFAUSAGE DEREGISTER call is made.  However, this will be made on
    the QR or an L8 TCB and will never be made on the original T8
    TCB. The IFAUSAGE DEREGISTER call returns an error, due to being
    issued on the wrong TCB, and leaves the original IFAUSAGE
    registration block associated with the T8 TCB.
    
    
    Over time these blocks can mount up leading to a performance
    issue when future IFAUSAGE calls are made on that T8 TCB.
    

Problem conclusion

  • DFHMQTRU will now express interest in switch application
    environment events. When called for switch application
    environment it issues a new SPISWITCH call to MQ. This
    in turn issues the IFAUSAGE calls.
    
    This APAR requires the changes from MQ APAR PH23416 to be
    effective.
    
    MQ APAR PH23416 provides support for the SPISWITCH call. If this
    APAR is not applied the new function will be called but it
    will have no effect. With the MQ APAR applied, IFAUSAGE is
    called when MQ is called for SPISWITCH. This ensures that
    IFAUSAGE-related control blocks are not retained indefinitely
    for the T8 TCB.
    

Temporary fix

Comments

  • ×**** PE21/06/03 FIX IN ERROR. SEE APAR PH37824  FOR DESCRIPTION
    

APAR Information

  • APAR number

    PH27736

  • Reported component name

    CICS TS Z/OS V5

  • Reported component ID

    5655Y0400

  • Reported release

    100

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2020-07-22

  • Closed date

    2020-08-27

  • Last modified date

    2021-07-16

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

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

    UI71284 UI71285 UI71286

Modules/Macros

  • DFHEIQMQ DFHMQAEX DFHMQATB DFHMQBAS DFHMQBR9 DFHMQCOD DFHMQCON
    DFHMQCTL DFHMQDIS DFHMQDSC DFHMQDSL DFHMQIG  DFHMQIN1 DFHMQMNS
    DFHMQMON DFHMQPOP DFHMQPRM DFHMQPUL DFHMQQCN DFHMQRET DFHMQRP
    DFHMQRS  DFHMQSSQ DFHMQSTB DFHMQTM  DFHMQTRC DFHMQTRD DFHMQTRI
    DFHMQTRQ DFHMQTRU DFHMQTSK DFHMQXCR DFHMQXTB
    

Fix information

  • Fixed component name

    CICS TS Z/OS V5

  • Fixed component ID

    5655Y0400

Applicable component levels

  • R100 PSY UI71286

       UP20/08/28 P F008

  • R200 PSY UI71285

       UP20/08/28 P F008

  • R300 PSY UI71284

       UP20/09/09 P F009

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.

[{"Line of Business":{"code":"LOB35","label":"Mainframe SW"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSGMGV","label":"CICS Transaction Server"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"5.4"}]

Document Information

Modified date:
18 July 2021