IBM Support

IT35346: WebConsole/REST process can consume CPU if mqRestMessagingFullPoolBehavior set block.

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

  • When using MQ WebConsole/REST API it is possible to see high CPU
    consumption on the MQ WebConsole/REST API process.  If there is
    a new request made, but all the pooled connection(controlled by
    mqRestMessagingMaxPoolSize) are in use and you have set
    mqRestMessagingFullPoolBehavior to block.  The new request will
    attempt to request a pool connection in a tight loop and
    increase the CPU for the process.
    

Local fix

  • Increase the mqRestMessagingMaxPoolSize pool size or change
    mqRestMessagingFullPoolBehavior:
    eg.
    
    setmqweb properties -k mqRestMessagingMaxPoolSize -v size
    or
    setmqweb properties -k mqRestMessagingFullPoolBehavior -v
    <error|overflow>
    

Problem summary

  • ****************************************************************
    USERS AFFECTED:
    This affects users of IBM MQ WebConsole/RestAPI.
    
    
    Platforms affected:
    MultiPlatform
    
    ****************************************************************
    PROBLEM DESCRIPTION:
    MQ WebConsole/REST API process might consume lots of CPU if
    mqRestMessagingFullPoolBehavior set to block and we have
    mqRestMessagingMaxPoolSize value active connections and
    attempting to make a new request.
    
    To optimize the performance of the messaging REST API,
    connections to IBM MQ queue managers are pooled. That is,
    instead of each REST request creating, using, and destroying its
    own connection, each REST request uses a connection from a
    connection pool.
    
    By default, 20 connections are available for each queue manager
    pool. You can change the maximum number of pooled connections
    and the default behaviour of the messaging REST API when all
    connections are in use by using the setmqweb properties command.
    
    If all of the connections in the connection pool are in use, and
    the messaging REST API has been configured to block waiting for
    an existing connection to become free, then when a new request
    comes in the messaging REST API goes into a tight loop and
    consumes lots of CPU.
    

Problem conclusion

  • The code has been change to improve the behaviour and reduce the
    CPU consumption.
    
    ---------------------------------------------------------------
    The fix is targeted for delivery in the following PTFs:
    
    Version    Maintenance Level
    v9.2 LTS   9.2.0.7
    v9.x CD    9.2.2
    
    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

    IT35346

  • Reported component name

    MQ BASE V9.2

  • Reported component ID

    5724H7281

  • Reported release

    920

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2020-12-22

  • Closed date

    2022-06-07

  • Last modified date

    2022-09-30

  • 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

    MQ BASE V9.2

  • Fixed component ID

    5724H7281

Applicable component levels

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSYHRD","label":"IBM MQ"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"920","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
30 September 2022