IBM Support

IV25039: WMQ CLASSES FOR JMS ARE MAKING INCORRECT CALLS TO PERFORM XA RECOVERY ON A BINDINGS MODE CONNECTION WHICH IS USING RRS

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Higher than expected CPU usage is observed on z/OS, when
    WebSphere Application Server is performing transactional
    recovery of Activation specifications.
    
    JVM analysis may also show an unexpected increase in object
    allocations. The tracebacks of these allocatiosns show the
    following stack:
    at java/lang/StringBuffer.ensureCapacityImpl(I)
    (StringBuffer.java:33)
    at java/lang/StringBuffer.append(Ljava/lang/String;)
    at com/ibm/msg/client/commonservices/trace/
    Trace.createFFSTString(Ljav
    at com/ibm/msg/client/commonservices/trace/
    Trace.ffstInternal(Ljava/la
    at com/ibm/msg/client/commonservices/trace/
    Trace.ffst(Ljava/lang/Objec
    at com/ibm/msg/client/wmq/common/internal/
    WMQTraceHandler.ffst(Ljava/l
    at com/ibm/msg/client/wmq/common/internal/
    WMQTraceHandler.ffst(Ljava/l
    at com/ibm/mq/jmqi/JmqiXAResource.<init>
    (Lcom/ibm/mq/jmqi/JmqiEnvironm
    at com/ibm/mq/jmqi/JmqiXAResource.getInstance
    (Lcom/ibm/mq/jmqi/JmqiEnv
    at com/ibm/mq/jmqi/JmqiEnvironment.newJmqiXAResource
    (Lcom/ibm/mq/jmqi/
    at com/ibm/msg/client/wmq/internal/WMQXASession.<init>
    (Lcom/ibm/msg/cl
    at com/ibm/msg/client/wmq/internal/WMQXAConnection.
    createXASession(Lco
    at com/ibm/msg/client/jms/internal/JmsXAConnectionImpl.
    createXASession
    at com/ibm/mq/jms/MQXAConnection.createXASession()
    Ljavax/jms/XASession
    at com/ibm/mq/connector/ResourceAdapterImpl.
    getXAResources(Ljavax/res
    at com/ibm/ws/tx/jta/ASXAResourceFactoryImpl.
    getXAResource(Lcom/ibm/ws
    at com/ibm/ws/Transaction/JTA/XARecoveryData.
    getXARminst()Lcom/ibm/w
    at com/ibm/ws/Transaction/JTA/XARecoveryData.recover
    at com/ibm/ws390/tx/XARecoveryAgentImpl.
    rollbackUnknownTransactions
    at com/ibm/ws390/tx/XARecoveryAgentImpl
    $XARecoveryAgentThread.run()
    
    
    Application server traces also show the following error:
    
    Trace: 2012/07/18 21:57:03.288 01 t=8BB548 c=UNK key=P8
    ThreadId: 00000046
    FunctionName: JmqiXAResource
    SourceId: JmqiXAResource
    Category: FINE
    ExtendedMessage: (JmqiXAResource)
    Tracing exception:
    javax.transaction.xa.XAException:
    The method 'xa_open' has failed because of an
    internal error.
    at java.lang.Throwable.<init>(Throwable.java:67)
    at com.ibm.mq.jmqi.JmqiXAResource.<init>
    (JmqiXAResource.java:137)
    at com.ibm.mq.jmqi.JmqiXAResource.getInstance
    (JmqiXAResource.java:104)
    at com.ibm.mq.jmqi.JmqiEnvironment.newJmqiXAResource
    (JmqiEnvironment.ja
    at com.ibm.msg.client.wmq.internal.WMQXASession.
    <init>(WMQXASession.jav
    at com.ibm.msg.client.wmq.internal.WMQXAConnection.
    createXASession(WMQX
    at com.ibm.msg.client.jms.internal.JmsXAConnectionImpl.
    createXASession(
    at com.ibm.mq.jms.MQXAConnection.createXASession
    (MQXAConnection.java:83
    at com.ibm.mq.connector.ResourceAdapterImpl.
    getXAResources(ResourceAdap
    at com.ibm.ws.tx.jta.ASXAResourceFactoryImpl.
    getXAResource(ASXAResource
    at com.ibm.ws.Transaction.JTA.XARecoveryData.
    getXARminst(XARecoveryData
    at com.ibm.ws.Transaction.JTA.XARecoveryData.
    recover(XARecoveryData.jav
    at com.ibm.ws390.tx.XARecoveryAgentImpl.
    rollbackUnknownTransactions(XAR
    at com.ibm.ws390.tx.XARecoveryAgentImpl
    $XARecoveryAgentThread.run(XARec
    .
    ADDITIONAL SYMPTOMS:
    If WSAS is started in recovery mode, and BINDING_THEN_CLIENT
    is configured for an activation specification that is connecting
    in BINDING mode, the following linked exception occurs:
    Caused by: com.ibm.mq.jmqi.JmqiException: CC=2;RC=2495;AMQ8568:
    The native JNI library 'mqjrrs64' was not found. [3=mqjrrs64]
    .
    AMQ8568 2495 MQRC_MODULE_NOT_FOUND mqjrrs64 not found
    

Local fix

  • Local Fix&#65496;
    .
    

Problem summary

  • ****************************************************************
    USERS AFFECTED:
    This issue affects users of WebSphere Application Server on z/
    OS who are using the WebSphere MQ Messaging Provider to
    communicate with a WebSphere MQ queue manager, and who have
    configured one or more Activation Specifications to use
    "BINDINGS_THEN_CLIENT" connection mode.
    
    Platforms affected:
    All Distributed (iSeries, all Unix and Windows) +Java +Java zOS
    ****************************************************************
    PROBLEM SUMMARY:
    When running WebSphere Application Server and the WebSphere MQ
    Messaging Provider on z/OS, shared memory bindings ("bindings
    mode") connections to the WebSphere MQ Queue Manager rely on
    the transactional functionality provided by the RRS component
    of z/OS, instead of XA transactions which are used by other
    WebSphere MQ connection modes.
    
    In order to remain compatible with Java EE environments, the
    WebSphere MQ Messaging Provider continues to accept XA calls
    from the Transaction Manager for z/OS bindings mode
    connections. In the case of transactional recovery, the
    WebSphere MQ Messaging Provider is asked by the Application
    Server to return a list of XAResource objects to be recovered.
    In this case, the WebSphere MQ Messaging Provider returned a
    dummy XAResource object for each Activation Specification that
    was using a bindings mode connection, as there was no XA work
    to do.
    
    The issue occurred when the Activation Specifications were
    configured to use a bindings then client connection mode. In
    this case, the WebSphere MQ Messaging Provider did not return a
    dummy resource, and attempted to create an XA connection to the
    queue manager to perform transactional recovery. The WebSphere
    MQ Messaging Provider incorrectly opened a bindings mode
    connection to do this, leading to the exception seen in the
    trace above, as a bindings connection on z/OS cannot accept XA
    API calls.
    

Problem conclusion

  • The XA recovery mechanism in the WebSphere MQ Messaging provider
    has been modified so that when performing transactional recovery
    of an Activation Specification that is configured to use
    "bindings then client" connection mode, no attempt is made to
    flow XA API calls to the queue manager using a bindings
    connection.
    
    ---------------------------------------------------------------
    The fix is targeted for delivery in the following PTFs:
    
                       v7.0
    Platform           Fix Pack 7.0.1.10
    --------           --------------------
    Windows            U200352
    AIX                U853055
    HP-UX (PA-RISC)    U853082
    HP-UX (Itanium)    U853087
    Solaris (SPARC)    U853083
    Solaris (x86-64)   U853089
    iSeries            7.0.1.10
    Linux (x86)        U853084
    Linux (x86-64)     U853088
    Linux (zSeries)    U853085
    Linux (Power)      U853086
    zOS                7.0.1.10
    
                       v7.1
    Platform           Fix Pack 7.1.0.3
    --------           --------------------
    Windows            7.1.0.3
    AIX                7.1.0.3
    HP-UX (Itanium)    7.1.0.3
    Solaris (SPARC)    7.1.0.3
    Solaris (x86-64)   7.1.0.3
    iSeries            7.1.0.3
    Linux (x86)        7.1.0.3
    Linux (x86-64)     7.1.0.3
    Linux (zSeries)    7.1.0.3
    Linux (Power)      7.1.0.3
    zOS                7.1.0.3
    
    Platform           v7.5
    --------           --------------------
    Multiplatforms     7.5.0.1
    
    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

    IV25039

  • Reported component name

    WMQ AIX V7

  • Reported component ID

    5724H7221

  • Reported release

    701

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2012-07-23

  • Closed date

    2012-10-19

  • Last modified date

    2014-02-07

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

    PM69659 PM90856

Fix information

  • Fixed component name

    WMQ AIX V7

  • Fixed component ID

    5724H7221

Applicable component levels

  • R701 PSY

       UP

[{"Line of Business":{"code":"LOB45","label":"Automation"},"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSFKSJ","label":"WebSphere MQ"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7.0.1"}]

Document Information

Modified date:
03 October 2021