IBM Support

IT12492: TEMPORARY QUEUE LEAK ON DELETE OR CLEANUP

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • When an application creates a temporary queue, and then calls
    TemporaryQueue.delete(), as shown in the following example:
    
    Connection c = connFactory.createConnection()
    Session s = c.createSession()
    Queue q = s.createTemporaryQueue()
    q.delete()
    
    the handle to the underlying temporary queue on the queue
    manager is not closed and the temporary queue is not deleted.
    

Local fix

Problem summary

  • ****************************************************************
    USERS AFFECTED:
    This issue affects users of:
    
    - The IBM MQ V8 classes for JMS.
    - The IBM MQ V8 resource adapter.
    
    who have applications that create temporary queues by calling
    one of the following methods:
    
    - JMSContext.createTemporaryQueue()
    - QueueSession.createTemporaryQueue()
    - Session.createTemporaryQueue()
    
    and then close the temporary queues by calling the method:
    
    - TemporaryQueue.delete()
    
    
    Platforms affected:
    MultiPlatform
    
    ****************************************************************
    PROBLEM DESCRIPTION:
    When the methods:
    
    - JMSContext.createTemporaryQueue()
    - QueueSession.createTemporaryQueue()
    - Session.createTemporaryQueue()
    
    are called, the MQ classes for JMS and resource adapter create a
    temporary queue on the queue manager that the application is
    connected to. The handle for the temporary queue is associated
    with the TemporaryQueue object returned to the application.
    
    When the method TemporaryQueue.delete() was called, the MQ
    classes for JMS and resource adapter did not close the handle to
    the temporary queue, or try to delete it. If the application
    created and deleted a large number of temporary queues, then the
    application could eventually receive JMSExceptions containing MQ
    Reason Code 2017 (MQRC_HANDLE_NOT_AVAILABLE).
    

Problem conclusion

  • The MQ classes for JMS and resource adapter have been updated to
    ensure that when the method TemporaryQueue.delete() is called,
    the handle to the temporary queue on the queue manager is closed
    and the temporary queue deleted.
    
    ---------------------------------------------------------------
    The fix is targeted for delivery in the following PTFs:
    
    Version    Maintenance Level
    v8.0       8.0.0.6
    
    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

    IT12492

  • 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

    2015-11-30

  • Closed date

    2016-03-31

  • Last modified date

    2016-03-31

  • 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:
31 March 2016