IBM Support

PI90759: IIB MQINPUT NODE RETAINS LARGE BUFFERS LEADING TO MEMORY SHORTAGES

Subscribe to this APAR

By subscribing, you receive periodic emails alerting you to the status of the APAR, along with a link to the fix after it becomes available. You can track this item individually or track all items by product.

Notify me when this APAR changes.

Notify me when an APAR for this component changes.

 

APAR status

  • Closed as program error.

Error description

  • IIB v10 changed from using the MQGET API to the MQCTL-MQCB API.
    These behave very differently with respect to the management of
    the message buffer.
    Using the MQGET API, IIB allocated the message buffer storage
    and also monitored the size of the buffer, resizing it  if it
    was no longer required to be very large.
    Using the MQCTL-MQCB API, MQ allocates the message buffer and
    does not provide a means for the application to manage this. The
    current MQ design for the MQCTL-MQCB API results in the
    following changes in behaviour that affect the storage usage for
    IIB message flows processing MQ input messages:
    
    1. MQ allocates the message buffer. On z/OS this is in 31-bit
    storage.
    2. MQ only resizes the buffer up, to the maximum message size
    that the thread has processed, but it does not resize the buffer
    down if only smaller messages are subsequently processed.
    3. The message buffers remain allocated for the life of the
    message flow thread.
    
    As a result of these changes, an integration server (IS) that
    regularly processes very large MQ input messages on multiple
    message flow threads, might experience increased or excessive
    storage usage for the IS process.
    
    On z/OS this can be a particular problem because the MQ buffers
    are allocated in 31-bit storage which is considerably more
    limited than 64-bit storage. This can lead to the IS logging the
    following messages and an 878-10 abend loop:
    
    +BIP2628W (Msg 1/2) MQ20BRK EG3 76 EXCEPTION CONDITION
     DETECTED ON INPUT NODE 'MessageFlow.MQInput'.
    +BIP2680E (Msg 2/2) MQ20BRK EG3 76 FAILED TO SETUP A MQ
     CONTROL CALLBACK FOR COMPONENT
     'MessageFlow.MQ Input' TO QUEUE 'INPUT' ON QUEUE
     MANAGER 'MQ20': MQCC=2; MQRC=2195.
    
    IEA794I SVC DUMP HAS CAPTURED:
     DUMPID=007 REQUESTED BY JOB (MQ20BRK )
     DUMP TITLE=MQ20,ABN=878-00000010,U=WMQI20,C=W9700.800.
     MMC -CSQMALCH,M=CSQGFRCV,PSW=070C1000815F4CEE,ASID=00A7
    
    CSQY291E CSQWDSDM SDUMPX FAILED,
    RC=00003E08,MQ20,ABN=878-00000010,
     PSW=070C1000815F4CEE,ASID=00A7
    

Local fix

  • N/A
    

Problem summary

  • ****************************************************************
    USERS AFFECTED:
    All users of IBM Integration Bus version 10 using MQInput nodes.
    
    
    Platforms affected:
    z/OS, MultiPlatform
    
    ****************************************************************
    PROBLEM DESCRIPTION:
    In version 10, IBM Integration Bus changed from using the MQGET
    API to the MQCTL-MQCB API.
    
    These behave very differently with respect to the management of
    the message buffer.
    
    When using the MQGET API, IBM Integration Bus allocated the
    message buffer storage and also monitored the size of the
    buffer, resizing it if it was no longer required to  be very
    large. In contrast, when using the MQCTL-MQCB API, MQ allocates
    the message buffer and does not provide a means for the
    application to manage this. The current MQ design for the
    MQCTL-MQCB API results in the following changes in behaviour
    that affect the storage usage for IBM Integration Bus message
    flows processing MQ input messages:
    
    1. MQ allocates the message buffer. On z/OS this is in 31-bit
    storage.
    2. MQ only resizes the buffer upwards to the maximum message
    size that the thread has processed, but it does not resize the
    buffer downwards if only smaller messages are subsequently
    processed.
    3. The message buffers remain allocated for the life of the
    message flow thread.
    
    As a result of these changes, an integration server (IS) that
    frequently processes very large MQ input messages on multiple
    message flow threads, might experience increased or excessive
    storage usage for the IS process.
    
    On z/OS, this can be a particular problem because the MQ buffers
    are allocated in 31-bit storage, which is considerably more
    limited than 64-bit storage. This can lead to the IS logging the
    following messages and an 878-10 abend loop:
    
    +BIP2628W (Msg 1/2) MQ20BRK EG3 76 EXCEPTION CONDITION
                          DETECTED ON INPUT NODE
    'MessageFlow.MQInput'.
    +BIP2680E (Msg 2/2) MQ20BRK EG3 76 FAILED TO SETUP A MQ
                        CONTROL CALLBACK FOR COMPONENT
                         'MessageFlow.MQ Input' TO QUEUE 'INPUT' ON
                         QUEUE MANAGER 'MQ20': MQCC=2; MQRC=2195.
    
    IEA794I SVC DUMP HAS CAPTURED:
    DUMPID=007 REQUESTED BY JOB (MQ20BRK )
    DUMP TITLE=MQ20,ABN=878-00000010,U=WMQI20,C=W9700.800.
    MMC -CSQMALCH,M=CSQGFRCV,PSW=070C1000815F4CEE,ASID=00A7
    
    CSQY291E CSQWDSDM SDUMPX FAILED,
    RC=00003E08,MQ20,ABN=878-00000010,
    PSW=070C1000815F4CEE,ASID=00A7
    

Problem conclusion

  • IBM Integration Bus has been modified to:
    * Resize the buffer on any active threads if it is large and has
    not been used for a period of time
    * On z/OS, disconnect from the Queue Manager and so release the
    buffer for additional instance threads that have idled out. This
    already occurred for non XA users.
    
    On z/OS MQ APAR PI90772 is required in conjunction with IBM
    Integration Bus APAR PI90759 for this APAR PI90759 to be
    effective.
    
    ---------------------------------------------------------------
    The fix is targeted for delivery in the following PTFs:
    
    Version    Maintenance Level
    v10.0      10.0.0.12
    
    The latest available maintenance can be obtained from:
    http://www-01.ibm.com/support/docview.wss?rs=849&uid=swg27006041
    
    If the maintenance level is not yet available,information on
    its planned availability can be found on:
    http://www-1.ibm.com/support/docview.wss?rs=849&uid=swg27006308
    ---------------------------------------------------------------
    

Temporary fix

Comments

APAR Information

  • APAR number

    PI90759

  • Reported component name

    IIB Z/OS

  • Reported component ID

    5655AB100

  • Reported release

    A00

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2017-11-29

  • Closed date

    2018-03-21

  • Last modified date

    2018-03-21

  • 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

    IIB Z/OS

  • Fixed component ID

    5655AB100

Applicable component levels

[{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSNQH8","label":"IBM Integration Bus for z\/OS"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"10.0","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}},{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG19M","label":"APARs - z\/OS environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"10.0","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
21 March 2018