IBM Support

IT20044: Last will message is not delivered if web browser is closed without disconnecting MQTT client

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

  • A MQTT JavaScript client running in a browser is connected to
    the queue manager, and has defined a last will and testament
    message, specifying this on the connect, along with a topic to
    send this message to in the event of an unexpected break in the
    client connection.
    If the browser closes without first sending a MQTT disconnect
    packet to close the client connection, the last will and
    testament message is not delivered to the specified topic as
    expected - instead it stays on the SYSTEM.MQTT.PERSISTENT.STATE
    queue. If there are many clients that close in this way having
    specified last will and testament messages, this persistent
    state queue can build up with a large number of these messages.
    

Local fix

Problem summary

  • ****************************************************************
    USERS AFFECTED:
    This issue affects users of the MQTT JavaScript client who are
    specifying last will and testament messages, and who close the
    browser hosting the MQTT client connection without sending an
    explicit MQTT disconnect packet.
    
    
    Platforms affected:
    Windows, Linux on x86-64
    
    ****************************************************************
    PROBLEM DESCRIPTION:
    If a browser in which a MQTT JavaScript client has created a
    connection to a queue manager is closed, this sends a websocket
    close packet to the queue manager as part of the close of the
    browser. The MQXR service that received this websocket close
    packet was not interpreting this as an unexpected close of the
    connection. This meant that any processing that should take
    place for the client as a result of an unexpected end of the
    client connection was not being done. Specifically, if the
    client had specified a last will and testament message during
    the connection, this was not being removed from the
    SYSTEM.MQTT.PERSISTENT.STATE queue and delivered to the
    specified topic - instead these messages stayed on the
    persistent state queue.
    

Problem conclusion

  • If either the browser is closed without sending a MQTT
    disconnect, or if the browser process or the socket is
    ended,with this fix applied, any last will and testament message
    specified by the client is removed from the
    SYSTEM.MQTT.PERSISTENT.STATE queue and sent to the specified
    topic.
    
    ---------------------------------------------------------------
    The fix is targeted for delivery in the following PTFs:
    
    Version    Maintenance Level
    v8.0       8.0.0.8
    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

    IT20044

  • Reported component name

    WMQ BASE MULTIP

  • Reported component ID

    5724H7251

  • Reported release

    800

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2017-04-04

  • Closed date

    2017-10-31

  • Last modified date

    2017-11-16

  • 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

    5724H7251

Applicable component levels

  • R800 PSY

       UP

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

Document Information

Modified date:
16 November 2017