IBM Support

PM73229: THREADS BOTTLENECK IN WMQJMSRAMANAGEDCONNECTIONFACTORY

Fixes are available

8.5.0.2: WebSphere Application Server V8.5 Fix Pack 2
8.0.0.6: WebSphere Application Server V8.0 Fix Pack 6
7.0.0.29: WebSphere Application Server V7.0 Fix Pack 29
8.0.0.7: WebSphere Application Server V8.0 Fix Pack 7
8.0.0.8: WebSphere Application Server V8.0 Fix Pack 8
7.0.0.31: WebSphere Application Server V7.0 Fix Pack 31
7.0.0.33: WebSphere Application Server V7.0 Fix Pack 33
8.0.0.9: WebSphere Application Server V8.0 Fix Pack 9
7.0.0.35: WebSphere Application Server V7.0 Fix Pack 35
8.0.0.10: WebSphere Application Server V8.0 Fix Pack 10
7.0.0.37: WebSphere Application Server V7.0 Fix Pack 37
8.0.0.11: WebSphere Application Server V8.0 Fix Pack 11
7.0.0.39: WebSphere Application Server V7.0 Fix Pack 39
8.0.0.12: WebSphere Application Server V8.0 Fix Pack 12
7.0.0.41: WebSphere Application Server V7.0 Fix Pack 41
8.0.0.13: WebSphere Application Server V8.0 Fix Pack 13
7.0.0.43: WebSphere Application Server V7.0 Fix Pack 43
8.0.0.14: WebSphere Application Server V8.0 Fix Pack 14
7.0.0.45: WebSphere Application Server V7.0 Fix Pack 45
8.0.0.15: WebSphere Application Server V8.0 Fix Pack 15
7.0.0.29: Java SDK 1.6 SR13 FP2 Cumulative Fix for WebSphere Application Server
7.0.0.45: Java SDK 1.6 SR16 FP60 Cumulative Fix for WebSphere Application Server
7.0.0.31: Java SDK 1.6 SR15 Cumulative Fix for WebSphere Application Server
7.0.0.35: Java SDK 1.6 SR16 FP1 Cumulative Fix for WebSphere Application Server
7.0.0.37: Java SDK 1.6 SR16 FP3 Cumulative Fix for WebSphere Application Server
7.0.0.39: Java SDK 1.6 SR16 FP7 Cumulative Fix for WebSphere Application Server
7.0.0.41: Java SDK 1.6 SR16 FP20 Cumulative Fix for WebSphere Application Server
7.0.0.43: Java SDK 1.6 SR16 FP41 Cumulative Fix for WebSphere Application Server

Subscribe

You can track all active APARs for this component.

APAR status

  • Closed as program error.

Error description

  • Under high load using WebSphere Application Server with
    WebSphere MQ, poor performance can be observed when JMS
    Connections are rapidly and concurrently created.  A javacore
    reveals threads blocking during the create connection phase.
    
    Examples of threads suffering from the performance problems are:
    
    "thead name" J9VMThread:0x00000000,
    j9thread_t:0x490F6F08, java/lang/Thread:0x00000000, state:B,
    prio=5
    (native thread ID:0x3268, native priority:0x5, native
    policy:UNKNOWN)
    Java callstack:
    at
    com/ibm/ejs/j2c/FreePool.createManagedConnectionWithMCWrapper(Fr
    eePool.java:2034)
    at
    com/ibm/ejs/j2c/FreePool.createOrWaitForConnection(FreePool.java
    :1711(Compiled Code))
    at
    com/ibm/ejs/j2c/PoolManager.reserve(PoolManager.java:2471(Compil
    ed Code))
    at
    com/ibm/ejs/j2c/ConnectionManager.allocateMCWrapper(ConnectionMa
    nager.java:1059(Compiled Code))
    at
    com/ibm/ejs/j2c/ConnectionManager.allocateConnection(ConnectionM
    anager.java:696(Compiled Code))
    at
    com/ibm/ejs/jms/JMSQueueConnectionFactoryHandle.createQueueConne
    ction(JMSQueueConnectionFactoryHandle.java:84(Compiled Code))
    ...
    
    In any example of a javacore the root of the bottleneck will
    be a thread owning the monitor of the
    WMQJMSRAManagedConnectionFactory class.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  All users of IBM WebSphere Application      *
    *                  Server and WebSphere MQ JMS                 *
    ****************************************************************
    * PROBLEM DESCRIPTION: Performance bottleneck caused by        *
    *                      WMQJMSRAManagedConnectionFactory        *
    *                      class.                                  *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    The WMQJMSRAManagedConnectionFactory class used the 'this'
    lock when creating connections to the Queue Manager.  Creating
    a connection over a network is a relatively expensive
    operation and so that lock introduces a signficant bottleneck.
    

Problem conclusion

  • The fix for this APAR reduces the impact of the locking by
    introducing three new locks to provide granularity and reduced
    contention for the 'this' lock.  It also utilises volatile to
    avoid the need for synchronization in the majority of cases.
    
    The fix for this APAR is currently targeted for inclusion in
    fix pack 7.0.0.29, 8.0.0.6 and 8.5.0.2.  Please refer to the
    Recommended Updates page for delivery information:
    
    http://www.ibm.com/support/docview.wss?rs=180&uid=swg27004980
    

Temporary fix

Comments

APAR Information

  • APAR number

    PM73229

  • Reported component name

    WEBS APP SERV N

  • Reported component ID

    5724H8800

  • Reported release

    700

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2012-09-19

  • Closed date

    2012-10-29

  • Last modified date

    2012-10-29

  • 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

    WEBS APP SERV N

  • Fixed component ID

    5724H8800

Applicable component levels

  • R700 PSY

       UP

  • R800 PSY

       UP

  • R850 PSY

       UP



Document information

More support for: WebSphere Application Server
General

Software version: 7.0

Reference #: PM73229

Modified date: 29 October 2012