IBM Support

PH57508: IBM MQ Z/OS: IMPROVE STREAMQ VALIDATION LOGIC

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • The client complains that CSQM591I CSQMAQLC Queue attributes
    are incompatible for use as a streaming queue.
    
     Customer has the following local queue on queue manager CSQ1:
    
     QUEUE(LOCALQ1)
     TYPE(QLOCAL)
     QSGDISP(QMGR)
     STREAMQ(OLDSTRMQ)
    
    He tried the command:
    
    ALTER QLOCAL(LOCALQ1) STRMQOS(BESTEF) STREAMQ(REMOTEQ)
    
    However received the message:
    
    CSQM591I ;CSQ1 CSQMAQLC Queue attributes are incompatible for
    use as a
    streaming queue
    
    It seems that the problem is caused because the remote queue
    REMOTEQ is mapped to the same queue name, however in another
    queue manager:
    
     QUEUE(REMOTEQ)
     TYPE(QREMOTE)
     QSGDISP(QMGR)
     CLUSTER()
     CLUSNL()
     DESCR(Test to CSQ2)
     PUT(ENABLED)
     DEFPRTY(0)
     DEFPSIST(NO)
     DEFPRESP(SYNC)
     RNAME(LOCALQ1) <===
     RQMNAME(CSQ2)    <===
     XMITQ(XQ1)
     DEFBIND(OPEN)
     CLWLRANK(0)
     CLWLPRTY(0)
     CUSTOM()
    
    But if customer executes:
    
    ALTER QLOCAL(LOCALQ1) STRMQOS(BESTEF) STREAMQ(' ')
    
    and then executes once more the command
    
    ALTER QLOCAL(LOCALQ1) STRMQOS(BESTEF) STREAMQ(REMOTEQ)
    
    the same command that was failing executes successfully.
    
    
    The STREAMQ validation logic tries to prevent circular
    streaming by checking the resolved base queue attributes for
    model, alias and remote queues. In this case, the chaining to
    the resolved base queue ends up at the same queue which the
    ALTER QLOCAL command is being issued against. There is a check
    that the resolved base queue doesn't also have the STREAMQ
    attribute set. The attribute won't be set the first time
    STREAMQ is set for a queue, but will be the second time. This
    explains why the command behaves inconsistently.
    
    
    
    It doesn't make sense to be checking the remote queue RNAME
    queue.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED: All users of IBM MQ for z/OS Version 9       *
    *                 Release 3 Modification 0.                    *
    ****************************************************************
    * PROBLEM DESCRIPTION: Trying to set a remote queue as a       *
    *                      streaming queue for a local queue that  *
    *                      has previously had its STREAMQ          *
    *                      attribute set may result in a CSQM591I  *
    *                      message "Queue attributes are           *
    *                      incompatible for use as a streaming     *
    *                      queue" being issued and the operation   *
    *                      being unsuccessful if the remote        *
    *                      queue's RNAME is the same as that of    *
    *                      the local queue from which the request  *
    *                      originated.                             *
    ****************************************************************
    The code handling the validation of stream queues tries to find
    the attributes of a candidate queue by it's RNAME if the queue
    is remote. If the originating queue's and remote queue's RNAMEs
    are the same the attributes of the former are found and
    inspected instead of the latter's. This leads to the check for
    the queue already streaming to another queue to fail if the
    STREAMQ attribute has previously been set and causes the
    validation to determine the target queue as incompatible for
    streaming.
    

Problem conclusion

  • The call to find the remote queue's attributes by its RNAME has
    been removed, so the validation is no longer erroneously run
    against the originating queue's attributes.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PH57508

  • Reported component name

    IBM MQ Z/OS V9

  • Reported component ID

    5655MQ900

  • Reported release

    300

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2023-10-12

  • Closed date

    2023-12-15

  • Last modified date

    2024-02-01

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

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

    UI94942

Modules/Macros

  • CSQMCNA1
    

Fix information

  • Fixed component name

    IBM MQ Z/OS V9

  • Fixed component ID

    5655MQ900

Applicable component levels

  • R300 PSY UI94942

       UP24/01/18 P F401

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":"300","Line of Business":{"code":"LOB67","label":"IT Automation \u0026 App Modernization"}}]

Document Information

Modified date:
01 February 2024