IBM Support

PH49585: UNNECESSARY DEFINE CHANNEL QSGDISP(COPY) COMMANDS ISSUED DURING CHINIT STARTUP

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • An unnecessary DEFINE CHANNEL() QSGDISP COPY command is issued
    during CHINIT startup:
    
    DEFINE CHANNEL('channel name') CHLTYPE(SVRCONN) QSGDISP(COPY)
    REPLACE
    
    As part of channel initiator startup, the CHINIT supervisor
    task performs channel group object reconciliation. This results
    in the supervisor task PC-ing into the QMGR to routine
    CSQICHLO. This routine finds all of the QSGDISP(GROUP) channel
    objects stored in Db2, and also all of the QSGDISP(COPY)
    objects stored on page set 0. Once it has found all of these
    objects, it compares the contents of the QSGDISP(GROUP) and
    QSGDISP(COPY) object lists to look for any inconsistencies.
    These inconsistencies are then resolved by issuing console
    commands.
    
    For example if a QSGDISP(COPY) of an object is found, but the
    QSGDISP(GROUP) copy of the object is not found, then a DELETE
    CHANNEL() QSGDISP(COPY) console command will be issued. These
    commands are issued by a QMGR service task created by the
    CHINIT supervisor task.
    
    In this case, the CHINIT supervisor task determines that the
    QSGDISP(GROUP) and QSGDISP(COPY) objects are out of sync for
    SVRCONN channel. To rectify this, a DEFINE CHANNEL()
    QSGDISP(COPY) REPLACE command is issued to refresh the
    QSGDISP(COPY) object from the QSGDISP(GROUP) object. The
    QSGDISP(COPY) refresh behaviour is documented in the IBM
    documentation in Table 8:
    
    https://www.ibm.com/docs/en/ibm-mq/9.2?topic=reference-define-ch
    annel-define-new-channel#q085520___qsgdisp
    
    However, in the customer's case, the QSGDISP(GROUP) and
    QSGDISP(COPY) are not actually out of sync. This incorrect
    determination stems from a CLNTCONN channel existing with the
    same name as another SVRCONN channel. The logic which
    determines if a channel object requires refreshing from the
    group object does not always correctly handle two channels with
    the same name. Note that this does not always result in a
    DEFINE CHANNEL command being issued, the problem also depends
    on the positions of the SVRCONN and CLNTCONN channel objects in
    an internal object hash table.
    
    There is no known work around to stop this DEFINE CHANNEL
    command being issued, but this command being issued and failing
    has no adverse affects, so the customer can ignore it for now.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED: All users of IBM MQ for z/OS Version 9       *
    *                 Release 2 Modification 0 and Release 3       *
    *                 Modification 0.                              *
    ****************************************************************
    * PROBLEM DESCRIPTION: It is possible for a DEFINE CHANNEL     *
    *                      (...) CHLTYPE(SVRCONN) QSGDISP (COPY)   *
    *                      REPLACE command to be unnecessarily     *
    *                      issued at channel initiator start up.   *
    ****************************************************************
    The DEFINE CHANNEL(...) CHLTYPE(SVRCONN) QSGDISP(COPY) REPLACE
    command was being issued incorrectly due to there being two
    channels with the same name. The channels had different
    types (SVRCONN & CLNTCONN) but the code assigned with keeping
    GROUP and COPY objects in sync did not handle this correctly.
    The code ended up deciding that the copy and group objects were
    out of sync so issued the command to refresh the copy object
    from the group definition incorrectly.
    

Problem conclusion

  • The code has been changed to now only issue the DEFINE CHANNEL
    (...) CHLTYPE(SVRCONN) QSGDISP(COPY) REPLACE command when both
    a channel's name and type match the group object definition. As
    a result of this, the command will not be issued for channels
    with the same name if their channel types are different.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PH49585

  • Reported component name

    IBM MQ Z/OS V9

  • Reported component ID

    5655MQ900

  • Reported release

    200

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2022-09-17

  • Closed date

    2023-02-23

  • Last modified date

    2023-04-03

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

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

    UI90678 UI90679

Modules/Macros

  • CSQICHLO
    

Fix information

  • Fixed component name

    IBM MQ Z/OS V9

  • Fixed component ID

    5655MQ900

Applicable component levels

  • R200 PSY UI90679

       UP23/03/08 P F303

  • R300 PSY UI90678

       UP23/03/08 P F303

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":"SSYHRD","label":"IBM MQ"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"200","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
03 April 2023