IBM Support

IT16182: Slow performance of BROWSE_NEXT on deep queue after a message isremoved

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • An application removes a message that is under a browse cursor
    that is being kept for the same HObj or another HObj.  That HObj
    is then used in a call to MQGET with MQGMO_BROWSE_NEXT.  The
    MQGET takes a long time to return, if the queue is deep.
    
    If the return from MQGET is 2033 MQRC_NO_MSG_AVAILABLE then the
    next MQGET is also slow.
    
    This is most visible if the queue is deep, and the message that
    was removed is near the end of that queue.
    
    Trace shows that MQ iterates through each message on the queue
    every time a queue BROWSE_NEXT is called.
    
    This issue can be created by browsing the last message on
    the queue, consuming it, and then continuing to browse. Each
    browse will iterate through every message on the queue until
    we hit the end of the queue and return 2033.
    

Local fix

Problem summary

  • ****************************************************************
    USERS AFFECTED:
    Users who concurrently browse and consume MQ messages using the
    same HObj (object handle) or a different HObj.
    
    
    Platforms affected:
    MultiPlatform
    
    ****************************************************************
    PROBLEM DESCRIPTION:
    The problem was caused by a combination of internal flags that
    is set when a message is destructively consumed. These flags
    caused IBM MQ to iterate through every message on the queue each
    time that MQGET is called with MQGMO_BROWSE_NEXT.
    

Problem conclusion

  • A new internal flag has been introduced which will allow IBM MQ
    to continue browsing from the point in the browse list where a
    message was last destructively consumed.
    
    ---------------------------------------------------------------
    The fix is targeted for delivery in the following PTFs:
    
    Version    Maintenance Level
    v7.1       7.1.0.9
    v7.5       7.5.0.8
    v8.0       8.0.0.5
    
    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

    IT16182

  • Reported component name

    WMQ BASE MULTIP

  • Reported component ID

    5724H7241

  • Reported release

    750

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2016-07-18

  • Closed date

    2016-09-22

  • Last modified date

    2017-11-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

    WMQ BASE MULTIP

  • Fixed component ID

    5724H7241

Applicable component levels

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

Document Information

Modified date:
14 December 2020