IBM Support

IC65087: MQ JMS RESOURCE ADAPTER LEAKS CONNECTIONS WHEN USING MDB TOPIC LISTENERS WITH PUBLISH/SUBSCRIBE

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • A connection leak is seen following failover and reconnection to
    a queue manager if subscriptions are used from the resource
    adapter, and clone support is enabled.
    
    A trace shows an error with the stack:
    
    17:22:46:18.701.09  0021  @848c58
    c.i.m.c.w.v.jms.internal.MQBrokerSubscriptionList
    :::----+----+--  {  getSubscription(String,MQSession)
    [JMS:::JMS\\\u
    003#AnsExpiredMessageListener]
    [c.i.m.c.wmq.v6.jms.internal.MQSession@153b9ee]
    17:22:46:18.701.0A  0021     static  MQBrokerSubscriptionList
    :::----+----+---  d  unspecified method subscription
    JMS:#visw_jMDBAnsExpire.jar#AnsExpiredMessageListener already
    in use
    <null>
    17:22:46:18.701.0B  0021  @848c58
    c.i.m.c.w.v.jms.internal.MQBrokerSubscriptionList
    :::----+----+---  !
    getSubscription(String,MQSession)<throwIndex 1>,
    MQJMS3023 [javax.jms.JMSException]
    17:22:46:18.701.0C  0021  @848c58
    c.i.m.c.w.v.jms.internal.MQBrokerSubscriptionList
    :::----+----+---  X  getSubscription(String,MQSession)
    17:22:46:18.701.0C  0021
    MQJMS3023 [javax.jms.JMSException] at:
    17:22:46:18.701.0C  0021
    com.ibm.msg.client.wmq.v6.jms.internal
    .MQBrokerSubscriptionList.getSubscription
    (MQBrokerSubscriptionList.java:102)
    17:22:46:18.701.0C  0021
    com.ibm.msg.client.wmq.v6.jms.internal.
    MQBrokerSubscriptionEngine.openDurableSubscription
    (MQBrokerSubscriptionEngine.java:845)
    
    A new connection will be created after each
    reconnectionRetryInterval. The number of connections created
    will be equal to the reconnectionRetryCount.
    
    Eventually the reconnectionRetryCount will be reached. The
    mqjms.log will report
    [JMSCCThreadPoolWorker-10] JCAMessageBuilder Failed to reconnect
    one or more MDBs after a connection failure.
    EXPLANATION:
    The connection supplying one or more MDBs failed, and the
    resource adapter was not able to reconnect within the number of
    attempts specified by the reconnectionRetryCount property.
    

Local fix

  • Once the reconnectionRetryCount has been exceeded, the MDB(s)
    will need to be restarted manually
    

Problem summary

  • ****************************************************************
    USERS AFFECTED:
    This issue affects all WebSphere MQ J2EE Connector
    Architecture (JCA) resource adapter users, as well as WebSphere
    Application Server Version 7 users, whose applications create
    subscriptions with clone support.
    
    Platforms affected:
    All Distributed (iSeries, all Unix and Windows) +Java
    ****************************************************************
    PROBLEM SUMMARY:
    When a connection from the resource adapter to the queue manager
    was broken, a reconnection helper thread was spawned to
    reestablish the connection. This thread found what it thought
    was another valid connection to rebuild the subscription.
    
    This connection was also broken, so the attempt to subscribe
    failed. This broken connection meant we spawned another
    reconnection helper thread to rebuild this other broken
    connection.
    
    Both of these reconnection helper threads then attempted to
    rebuild the subscription. One succeeded, and the other continued
    to try to resubscribe.
    
    With each re-subscription attempt, the reconnection helper
    thread created a new connection, which was not closed. As clone
    support was enabled, each attempt failed, as we were already
    subscribed.
    
    This reconnection helper thread then waited for the
    reconnectionRetryInterval to try again. After this interval, a
    new connection was created, and the subscription failed as we
    were already subscribed. This pattern continued a number of
    times up to the reconnectionRetryCount, causing a number of
    connection to be created which were then not closed.
    

Problem conclusion

  • If a connection is created to rebuild a subscription, and this
    attempt fails, the connection is now closed.
    
    If a re-subscription fails because we are already subscribed, we
    do not continue to try to resubscribe.
    
    The connection leak following queue manager fail-over no longer
    occurs.
    
    ---------------------------------------------------------------
    The fix is targeted for delivery in the following PTFs:
    
                       v7.0
    Platform           Fix Pack 7.0.1.2
    --------           --------------------
    Windows            U200316
    AIX                U829807
    HP-UX (PA-RISC)    U829678
    HP-UX (Itanium)    U829681
    Solaris (SPARC)    U829806
    Solaris (x86-64)   U829680
    iSeries            tbc_p700_0_1_2
    Linux (x86)        U829677
    Linux (x86-64)     U829676
    Linux (zSeries)    U829682
    Linux (Power)      U829679
    
    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

    IC65087

  • Reported component name

    WMQ WINDOWS V7

  • Reported component ID

    5724H7220

  • Reported release

    700

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2009-12-10

  • Closed date

    2009-12-23

  • Last modified date

    2009-12-23

  • 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 WINDOWS V7

  • Fixed component ID

    5724H7220

Applicable component levels

  • R700 PSY

       UP

[{"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SSCPQ63","label":"APAR \/ Maintenance"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7.0","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
23 December 2009