IBM Support

IV99246: A MQ Java send exit is only invoked for the last TSH packet sentover TCP/IP when sending a message larger than 32KB

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • A MQ classes for JMS or MQ classes for Java application sends a
    message to a queue, where the message size (including message
    headers) is larger than 32KB, over a TCP/IP CLIENT connections,
    a configured channel send exit is only invoked for the final
    transmission segment sent to the queue manager.
    

Local fix

Problem summary

  • ****************************************************************
    USERS AFFECTED:
    This issue affects users of the:
    
      - WebSphere MQ V7.1 classes for JMS
      - WebSphere MQ V7.1 classes for Java
      - WebSphere MQ V7.1 JCA Resource Adapter
    
      - WebSphere MQ V7.5 classes for JMS
      - WebSphere MQ V7.5 classes for Java
      - WebSphere MQ V7.5 JCA Resource Adapter
    
      - WebSphere Application Server V8.5 MQ messaging provider
    
    who have applications that are configured as follows:
    
    (a) Create CLIENT mode transport connections to a queue manager
    
    (b) Have configured one or more channel send exits
    
    (c) Send messages that are greater than the maximum transmission
    segment size for the connection
    
    
    Platforms affected:
    MultiPlatform
    
    ****************************************************************
    PROBLEM DESCRIPTION:
    When an MQ classes for JMS or MQ classes for Java application
    connects to a queue manager using the CLIENT transport mode, the
    unit of data that is transmitted in a single flow between the
    client and queue manager message channel agents (MCAs) is called
    a transmission segment.  A transmission segment has a maximum
    allowable size, negotiated when the MQ Java/JMS classes connect
    to the queue manager.
    
    When an application sends a message which combined size (message
    headers plus the body size) is larger than the negotiated
    maximum size of the single transmission segment, the message is
    segmented and transmitted using multiple transmission segment
    flows.
    
    If the application had configured a channel send exit to run on
    the transmitted data, then the exit would have only been invoked
    on the last transmission segment flow required to complete the
    sending of the entire message.  The exit would not have been
    invoked for any of the preceding transmission segments.
    
    For example, if a single message was broken up into five
    transmission segments in order to not exceed the maximum
    transmission segment size, the configured send exit would not
    have been invoked for the first four transmission segments.  The
    exit would have only been invoked for the final, fifth,
    transmission segment.
    
    
    Note: The maximum transmission segment size is negotiated
    between the client and queue manager when a TCP/IP connection is
    initially established.  For non-secure TCP/IP connections the
    value negotiated is in the region of 32KB.  For TLS secured
    connections, the maximum size of a TSH flow is in the region of
    16KB.
    

Problem conclusion

  • The WebSphere MQ Java clients have been updated to ensure that
    channel send exits are called for each Transmission Segment
    Header (TSH) flow required to send a message that is larger the
    maximum allowable size for a single TSH.
    
    The problem addressed by this APAR does not affect the MQ V8 or
    MQ V9 Java/JMS applications.  However, this APAR has been used
    to deliver some serviceability improvements on these versions of
    the product.  The product code changes delivered to the MQ V8
    and MQ V9 Java clients are therefore not functional changes.
    
    ---------------------------------------------------------------
    The fix is targeted for delivery in the following PTFs:
    
    Version    Maintenance Level
    v7.5       7.5.0.9
    v8.0       8.0.0.9
    v9.0 CD    9.0.5
    v9.0 LTS   9.0.0.3
    
    The latest available maintenance can be obtained from
    'WebSphere MQ Recommended Fixes'
    http://www-1.ibm.com/support/docview.wss?rs=171&uid=swg27006037
    
    If the maintenance level is not yet available information on
    its planned availability can be found in 'WebSphere MQ
    Planned Maintenance Release Dates'
    http://www-1.ibm.com/support/docview.wss?rs=171&uid=swg27006309
    ---------------------------------------------------------------
    

Temporary fix

Comments

APAR Information

  • APAR number

    IV99246

  • Reported component name

    WMQ LIN X86 V7

  • Reported component ID

    5724H7224

  • Reported release

    710

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2017-08-23

  • Closed date

    2017-11-28

  • Last modified date

    2017-11-29

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

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

Fix information

  • Fixed component name

    WMQ LIN X86 V7

  • Fixed component ID

    5724H7224

Applicable component levels

  • R710 PSY

       UP

[{"Line of Business":{"code":"LOB45","label":"Automation"},"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSFKSJ","label":"WebSphere MQ"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7.1"}]

Document Information

Modified date:
09 March 2021