IBM Support

IT28817: Performance degradation when using JMS MessageListeners toconsume non-persistent messages outside of a transaction

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

  • An IBM MQ classes for JMS application:
    
    - Creates a MessageListener from a non-transacted JMS Session or
    Context.
    - Then uses the MessageListener to consume non-persistent
    messages.
    
    When the application is run using the IBM MQ V9.1.0.0 classes
    for JMS, the time taken for the MessageListener to process
    messages is slower than when using the MQ v8.0.0.5.
    

Local fix

Problem summary

  • ****************************************************************
    USERS AFFECTED:
    This issue affects users of:
    
    - The IBM MQ V8.0.0.6 (or later) classes for JMS.
    - The IBM MQ V9.0.0.1 (or later) classes for JMS.
    - The IBM MQ V9.1 classes for JMS.
    
    who have applications that:
    
    - Create a MessageListener from a non-transacted JMS Session or
    Context.
    - Use that MessageListener to consume non-persistent messages.
    
    
    Platforms affected:
    MultiPlatform
    
    ****************************************************************
    PROBLEM DESCRIPTION:
    APAR IV78400 made some changes to the IBM MQ classes for JMS to
    resolve issues that would occur if an application processed
    messages where the MQMD and the RFH2 headers for the messages
    had conflicting values for the message persistence property.
    
    As a result of these changes, the IBM MQ classes for JMS would
    incorrectly assume that all non-persistent messages that were
    delivered to an asynchronous MessageListener were processed
    within a transaction.  This caused the IBM MQ classes for JMS to
    always flow an MQCMIT API call to the queue manager after a
    MessageListener had processed a message, regardless of whether
    the message was processed within a transaction or not.
    

Problem conclusion

  • To resolve this issue, the IBM MQ classes for JMS have been
    updated to only flow an MQCMIT call to the queue manager if a
    MessageListener successfully processes a message within a
    transaction.
    
    ---------------------------------------------------------------
    The fix is targeted for delivery in the following PTFs:
    
    Version    Maintenance Level
    v8.0       8.0.0.13
    v9.0 LTS   9.0.0.8
    v9.1 LTS   9.1.0.4
    
    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

    IT28817

  • Reported component name

    IBM MQ BASE MP

  • Reported component ID

    5724H7271

  • Reported release

    910

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2019-04-16

  • Closed date

    2019-07-04

  • Last modified date

    2019-07-04

  • 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

    IBM MQ BASE MP

  • Fixed component ID

    5724H7271

Applicable component levels

[{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSYHRD","label":"IBM MQ"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"910","Edition":"","Line of Business":{"code":"LOB36","label":"IBM Automation"}}]

Document Information

Modified date:
04 July 2019