IBM Support

PH01980: MQ z/OS: When a message is larger than the channel's MAXMSGL, an error message should report MQRC_MSG_TOO_BIG_FOR_CHANNEL

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • The following messages were seen in the CHIN joblog.
    
    When the channel has USEDLQ=YES and the queue manager has no
    DEADQ defined:
     Sending side:
      CSQX500I CSQ1 CSQXRCTL Channel CH21.CSQ1.TO.CSQ2 started
      CSQX565E CSQ1 CSQXRCTL No dead-letter queue for CSQ1, channel
                    CH21.CSQ1.TO.CSQ2
      CSQX599E CSQ1 CSQXRCTL Channel CH21.CSQ1.TO.CSQ2 ended
                    abnormally
    
     Receiving side:
      CSQX500I CSQ2 CSQXRESP Channel CH21.CSQ1.TO.CSQ2 started
                    connection <conn-id>
      CSQX544E CSQ2 CSQXRESP Messages for channel CH21.CSQ1.TO.CSQ2
                    sent to remote dead-letter queue
      CSQX501I CSQ2 CSQXRESP Channel CH21.CSQ1.TO.CSQ2 no longer
                    active connection <conn-id>
    
    When the channel has USEDLQ=NO:
     Sending side:
      CSQX500I CSQ1 CSQXRCTL Channel CH22.CSQ1.TO.CSQ2 started
      CSQX785E CSQ1 CSQXRCTL Channel CH22.CSQ1.TO.CSQ2 is
        configured to not use the dead-letter queue
      CSQX599E CSQ1 CSQXRCTL Channel CH22.CSQ1.TO.CSQ2 ended
                    abnormally
     Receiving side:
      CSQX500I CSQ2 CSQXRESP Channel CH22.CSQ1.TO.CSQ2 started
                    connection <conn-id>
      CSQX501I CSQ2 CSQXRESP Channel CH22.CSQ1.TO.CSQ2 no longer
                  active connection <conn-id>
    
    There was no indication of why the message was being sent to
    the Dead Letter Queue (DLQ). Through review of a trace and dump
    plus the MQ source code, it was found that the length of a
    message on the XMITQ was larger than the MAXMSGL for the
    channel.  Even the trace did not report the
    MQRC_MSG_TOO_BIG_FOR_CHANNEL reason code.
    
    In the reported case, the large messages were being sent by IBM
    InfoSphere Data Replication (IIDR) Q Replication (QRep).
    
    There should be a message to report the intended DLH.Reason
    code. For a different error for the channel, CSQX038E did
    report MQRC_Q_FULL.
    ---------------------------------------------------------------
    Additional Key Words
    QREP CSQX565E CSQX785E MAXMSGL USEDLQ CHIN
    InfoSphere Data Replication (IIDR) Q Replication (QRep).
    

Local fix

  • If you see a CSQX565E or CSQX785E message issued in the sending
    QMgr's CHIN log verify that the MAXMSGL on the SDR channel is
    large enough to handle the MAXMSGL defined on the
    transmission queue that feeds the SDR channel gets it's
    messages from.
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED: All users of IBM MQ for z/OS Version 9       *
    *                 Release 0 Modification 0 and Release 1       *
    *                 Modification 0.                              *
    ****************************************************************
    * PROBLEM DESCRIPTION: When a message is larger than the       *
    *                      channel's MAXMSGL, an error message     *
    *                      should report                           *
    *                      MQRC_MSG_TOO_BIG_FOR_CHANNEL.           *
    ****************************************************************
    A message sent across a channel can not be delivered to the
    target QMGR because it exceeds the maximum message length
    specified on the sender channel, MAXMSGL. In the usual case the
    message would be PUT to the dead-letter queue and CSQX548E
    'Messages sent to local dead-letter queue' 'reason=2218
    (MQRC_MSG_TOO_BIG_FOR_CHANNEL)' would be reported.
    However if no dead-letter is available, either because none is
    defined for the local QMGR, or because the sending channel
    specifies 'Use dead-letter queue' to be 'NO', then only the
    inability to use the dead-letter queue is reported, and not the
    original reason for the error MQRC_MSG_TOO_BIG_FOR_CHANNEL.
    Where no dead-letter queue is defined for the local QMGR message
    CSQX565E 'No dead-letter queue for QMGR' is issued.
    Where the sending channel does not permit use of the dead-letter
    queue message CSQX785E 'Channel is configured to not use the
    dead-letter queue' is issued.
    

Problem conclusion

  • Module csqxrmmq has been updated for the reported problem to
    issue an additional diagnostic message after the message
    reporting unavailability of the dead-letter queue. New message
    CSQX797E 'Unable to send message for channel channel-name'
    will be issued reporting the original reason for the send
    failure.
    
    New message CSQX797E has been added to provide additional
    diagnostic information when a channel send fails and the message
    can not be re-directed to the dead-letter queue.
    
    IBM MQ Knowledge Center Updates -
    
    The following IBM MQ Knowledge Center pages will be updated at
    
     -https://www.ibm.com/support/knowledgecenter/en/SSFKSJ_9.0.0/
     -https://www.ibm.com/support/knowledgecenter/en/SSFKSJ_9.1.0/
    
        -IBM MQ
          -Reference
            -Diagnostic messages
              -Messages and reason codes for z/OS
                -Messages
                  -Distributed queuing messages (CSQX...)
    
    CSQX797E
       csect-name Unable to send message for channel channel-name,
       MQCC=mqcc MQRC=mqrc (mqrc-text)
    
    Severity
        8
    
    Explanation
       The send on channel channel-name could not be completed and
       the message could not be re-directed to the dead-letter
       queue.
    
    System action
    
       The channel stops.
    
    System programmer response
    
       Refer to API completion and reason codes for information
       about mqcc and mqrc (mqrc-text provides the MQRC in textual
       form) to determine why the send failed.
       Refer to previous messages to determine why the dead-letter
       queue is not available.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PH01980

  • Reported component name

    IBM MQ Z/OS V9

  • Reported component ID

    5655MQ900

  • Reported release

    000

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2018-08-21

  • Closed date

    2018-12-17

  • Last modified date

    2019-02-02

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

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

    UI60288 UI60289 UI60290 UI60291 UI60292 UI60293 UI60294 UI60295
    UI60296 UI60297 UI60298 UI60299

Modules/Macros

  • CSQFXLAT CSQFXTXC CSQFXTXE CSQFXTXF CSQFXTXK CSQFXTXU CSQXRMMQ
    

Fix information

  • Fixed component name

    IBM MQ Z/OS V9

  • Fixed component ID

    5655MQ900

Applicable component levels

  • R000 PSY UI60288

       UP19/01/26 P F901

  • R001 PSY UI60289

       UP19/01/26 P F901

  • R002 PSY UI60290

       UP19/01/26 P F901

  • R003 PSY UI60291

       UP19/01/26 P F901

  • R004 PSY UI60292

       UP19/01/26 P F901

  • R005 PSY UI60293

       UP19/01/26 P F901

  • R100 PSY UI60294

       UP19/01/26 P F901

  • R101 PSY UI60295

       UP19/02/02 P F901

  • R102 PSY UI60296

       UP19/02/02 P F901

  • R103 PSY UI60297

       UP19/02/02 P F901

  • R104 PSY UI60298

       UP19/02/02 P F901

  • R105 PSY UI60299

       UP19/02/02 P F901

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":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSYHRD","label":"IBM MQ"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"9.0","Edition":"","Line of Business":{"code":"LOB36","label":"IBM Automation"}}]

Document Information

Modified date:
02 February 2019