IBM Support

PH65546: ISSUE WITH MESSAGE EXPIRY ON SHARED QUEUES WITH CUSTOM CAPEXPRY VALUE AFTER MIGRATION TO V9.4

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • A shared queue is defined with a custom capexpry value on a qmgr
    at an earlier release than V9.4 A putting application connects
    to a V9.4 queue manager and puts to the shared queue. The
    message is put to the queue with the application's expiry value
    even if the custom capexpry setting specifies a lower value.
    This issue can occur either, if the queue is defined while the
    qmgr is at an earlier release and then the qmgr gets migrated to
    V9.4. In a mixed qsg, if the queue is defined on a qmgr at an
    earlier release and is then put to via another qmgr at V9.4.
    

Local fix

  • If you define or alter a shared queue with a custom capexpry
    value on a V9.4 qmgr, it works correctly when accessed from
    either a qmgr at V9.4 or one at an earlier release. This means
    that the problem can be resolved (even in a mixed level QSG) by
    issuing an an alter command on a V9.4 qmgr specifying the
    existing custom value: ALTER QLOCAL(xxx) QSGDISP(SHARED)
    CUSTOM('CAPEXPRY(nnn)') If all the qmgrs have been migrated to
    V9.4 then a better approach would be to remove the custom value
    and set the new CAPEXPRY attribute.
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED: All users of IBM MQ for z/OS Version 9       *
    *                 Release 4 Modification 0                     *
    ****************************************************************
    * PROBLEM DESCRIPTION: A queue defined at IBM MQ for z/OS      *
    *                      version 9.3.0 or earlier with a         *
    *                      CAPEXPRY value set, would apply the     *
    *                      CAPEXPRY value to messages put to the   *
    *                      queue via a version 9.3.0 queue         *
    *                      manager, but not to messages put to the *
    *                      queue from a 9.4.0 queue manager. This  *
    *                      can occur as a result of migrating from *
    *                      MQ for z/OS version 9.3.0 to version    *
    *                      9.4.0 or, when in a mixed level QSG     *
    *                      with queue managers at version 9.4.0 or *
    *                      later and version 9.3.0 or earlier.     *
    ****************************************************************
    The logic that sets the CAPEXPRY attribute did not update the
    resolved CAPEXPRY value when reading a shared queue definition
    with a custom CUSTOM attribute set. This occurred because it
    assumed the CAPEXPRY value had already been assigned prior to
    being written. However, for queue definitions created before
    version 9.3.0, CAPEXPRY is not set. As a result, the value is
    overlooked on queue managers from version 9.4.0 onwards.
    

Problem conclusion

  • The code has been updated to detect when an object's first-class
    CAPEXPRY value is invalid and has a resolved expiry value set,
    indicating it was defined on a pre-9.4 queue manager. In such
    cases, the resolved expiry value is now correctly derived from
    the custom CAPEXPRY attribute.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PH65546

  • Reported component name

    IBM MQ Z/OS V9

  • Reported component ID

    5655MQ900

  • Reported release

    400

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    YesHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2025-03-05

  • Closed date

    2025-07-03

  • Last modified date

    2025-08-02

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

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

    UO03936

Modules/Macros

  • CSQEOPEN CSQERCAT CSQMREF2
    

Fix information

  • Fixed component name

    IBM MQ Z/OS V9

  • Fixed component ID

    5655MQ900

Applicable component levels

  • R400 PSY UO03936

       UP25/07/12 P F507 ¢

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

Document Information

Modified date:
02 August 2025