IBM Support

PH65347: MQRC_EXPIRY_ERROR WITH QSGDISP(SHARED) QUEUES WHICH ARE IN A CLUSTER

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • When an application puts to a clustered queue, both the queue
    CAPEXPRY and the clustered queue object CAPEXPRY are used to
    set the message expiry, with the lowest of the two values being
    used. In the case of shared clustered queues, the queue
    CAPEXPRY is correctly getting set to NOLIMIT, but the clustered
    queue object CAPEXPRY is getting set to 0. The application put
    inherits the 0 value which results in the put failing with
    MQRC_EXPIRY_ERROR. Affected queues can be displayed using:
    
    /cpf DISPLAY QCLUSTER(*) WHERE(CAPEXPRY EQ 0)
    

Local fix

  • The affected queues can be corrected by altering them, even
    altering the DESCR will do
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED: All users of IBM MQ for z/OS Version 9       *
    *                 Release 4 Modification 0.                    *
    ****************************************************************
    * PROBLEM DESCRIPTION: MQRC_EXPIRY_ERROR (MQRC2013) is         *
    *                      returned when putting messages using    *
    *                      MQPUT/MQPUT1 to a Shared Queue that is  *
    *                      in a cluster after migrating to V9.4.   *
    ****************************************************************
    During channel initiator startup, reconcile processing updates
    the contents of the cluster cache with information about locally
    defined cluster queues. When reconciling shared queues that are
    in a cluster, and that haven't been altered since migrating to
    V9.4, the CapExpiry value incorrectly defaults to 0.
    
    When a message is put to the queue this incorrect value is used
    for the Expiry Interval, however as this is an invalid value,
    the MQPUT call fails with MQRC_EXPIRY_ERROR.
    

Problem conclusion

  • When reconciling cluster queues, the CapExpiry value for
    migrated queues will default to MQCEX_NOLIMIT (-1).
    

Temporary fix

Comments

APAR Information

  • APAR number

    PH65347

  • 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-02-19

  • Closed date

    2025-06-18

  • 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:

    UO03695

Modules/Macros

  • CSQXEQNA CSQXEQNL
    

Fix information

  • Fixed component name

    IBM MQ Z/OS V9

  • Fixed component ID

    5655MQ900

Applicable component levels

  • R400 PSY UO03695

       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