IBM Support

IT11278: WEBSPHERE MQ AMS ALWAYS GENERATE TRACE POINTS IN MFT, CLASSES FOR JAVA AND CLASSES FOR JMS TRACE OUTPUT

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • When using the WebSphere MQ Managed File Transfer component on a
    system that also has the Advanced Message Security component
    installed, trace is enabled using the trace string
    "com.ibm.wmqfte=all". This trace string should only trace the
    classes within the com.ibm.wmqfte package. However, the
    resultant trace file contains unexpected trace
    points:    *****************************************************
    ****************  1: Informational trace points being
    generated by the AMS
    S
    classes.  ------------------------------------------------------
    --         These trace points are similar to the ones shown
    below:    c.i.m.ese.intercept.JmqiOpenInterceptorImpl(JmqiOpenIn
    terceptImpl)       i  isInterceptedMqObjectType(MQOD) MQOT
    object not relevant  [5]  c.i.m.ese.service.PolicyServiceImpl
                                         i  createNonePolicy(String)
    createNonePolicy
    [///tflag:0]  c.i.m.ese.intercept.JmqiOpenInterceptorImpl
                           i  readPolicyFromTls(Phobj, SmqiObject)
    Received policy from queue manager, buffer limit:
    [216]  c.i.m.ese.service.EseMQServiceImpl
                    i  inqStringQmgr(final Hconn, final int[], final
    int, final byte[]) About to call MQOPEN  <len=2 array=",..."
    ************************************************************
    *********  2: An informational trace point from the  Java
    Message Queuing Interface
    (JMQI)  --------------------------------------------------------
    -  static  Unknown Class d
    getMessage(JmqiEnvironment,JmqiImplementation,Hconn,Hobj,MQMD,MQ
    GMO,int,int,PbyteBuffer,Pint,Pint,Pint,Pint) Buffer
    java.nio.HeapByteBuffer[pos=0 lim=0 cap=4096]  Length = 0x1000
    (4096) bytes start=0 count=0  offset    : 0 1 2 3  4 5 6 7  8 9
    A B  C D E F
    
    
    
    **************************************************************
    *******                                           Additional
    Symptom(s) Search Keyword(s):MQMFT; AMS;Trace
    

Local fix

Problem summary

  • ****************************************************************
    USERS AFFECTED:
    This issue affects two category of users:
    
    Category 1:
    --------------------
    Users of:
    
    - The WebSphere MQ V7.5 Managed File Transfer component.
    - The IBM MQ V8.0 Managed File Transfer component.
    
    who have also installed the Advanced Message Security (AMS)
    component, and collect a Managed File Transfer trace using a
    trace specification that does not include "com.ibm.mq".
    
    Category 2:
    --------------------
    Users of:
    
    - The WebSphere MQ V7.5 classes for Java.
    - The WebSphere MQ V7.5 classes for JMS.
    - The IBM MQ V8.0 classes for Java.
    - The IBM MQ V8.0 classes for JMS.
    
    who have also installed the Advanced Message Security (AMS)
    component, and collect a trace where the trace properties:
    
    com.ibm.msg.client.commonservices.trace.include
    com.ibm.msg.client.commonservices.trace.exclude
    
    are set to values that do not include tracing the
    "com.ibm.mq.ese" package and it's subpackages.
    
    
    Platforms affected:
    MultiPlatform
    
    ****************************************************************
    PROBLEM DESCRIPTION:
    There were two issues reported in this APAR:
    
    Issue 1: The informational trace points being
             generated by the AMS classes.
    --------------------------------------------------------
    The trace facility used by the classes in the AMS component is
    built on top of the trace mechanism provided by the classes for
    Java and classes for JMS. This trace mechanism provides the
    ability to filter the trace output so that it only includes
    trace from classes within a set of packages defined by the user.
    The set of packages that will traced is specified by the Java
    system properties:
    
    com.ibm.msg.client.commonservices.trace.include
    com.ibm.msg.client.commonservices.trace.exclude
    
    For example, to just trace the classes within the com.ibm.mq.jms
    package, the properties should be set to the following values:
    
    com.ibm.msg.client.commonservices.trace.include=com.ibm.mq.jms
    com.ibm.msg.client.commonservices.trace.exclude=ALL
    
    The trace facility used by the Managed File Transfer component
    is also built on top of this trace mechanism. When Managed File
    Transfer trace is enabled using a trace specification that
    either:
    
    - Specifies no classes, such as:
    
        =all
    
    - Includes the package "com.ibm.mq"
    
    then the Managed File Transfer component will set the
    properties:
    
    com.ibm.msg.client.commonservices.trace.include
    com.ibm.msg.client.commonservices.trace.exclude
    
    on the underlying trace mechanism to values which ensure that
    the communication with WebSphere MQ is included in the Managed
    File Transfer trace.
    
    When the classes in the AMS component generated informational
    trace points, the underlying trace mechanism did not check to
    see if the classes were contained within a package that was
    being traced. As a result of this, the informational trace
    points were always written to the trace file.
    
    
    ****************************************************************
    *****
    Issue 2: The informational trace point from the JMQI
    ---------------------------------------------------------
    The Managed File Transfer component uses the Java Message
    Queuing Interface (JMQI) in order to communicate with a queue
    manager. In order to trace this component, the trace
    specification used to enable Managed File Transfer trace should
    either be set to:
    
      =all
    
    or include the entry "com.ibm.mq".
    
    However, if Managed File Transfer trace was enabled using a
    trace specification that was not "=all" or did not include
    "com.ibm.mq", a trace point from the JMQI similar to the one
    shown below was incorrectly written to the trace file whenever
    the Managed File Transfer component tried to get a message:
    
    static  Unknown Class d
    getMessage(JmqiEnvironment,JmqiImplementation,Hconn,Hobj,MQMD,MQ
    GMO,int,int,PbyteBuffer,Pint,Pint,Pint,Pint) Buffer
    java.nio.HeapByteBuffer[pos=0 lim=0 cap=4096]
    Length = 0x1000 (4096) bytes start=0 count=0
    offset    : 0 1 2 3  4 5 6 7  8 9 A B  C D E F
    
    The reason for this was because the JMQI called an internal
    method on the trace mechanism which resulted in the trace point
    always being written to the trace file.
    

Problem conclusion

  • The fix for these issues are shown below:
    
    Issue 1: The informational trace points being
             generated by the AMS classes.
    --------------------------------------------------------
    The trace mechanism provided by the classes for Java and classes
    for JMS has been updated to check whether an informational trace
    point has been generated by a class within a package that is
    being traced. If the class is in a package that is being traced,
    the trace point is written to the trace file.
    
    ****************************************************************
    *****
    Issue 2: The informational trace point from the JMQI
    ---------------------------------------------------------
    The JMQI has been updated so that the trace point:
    
    static  Unknown Class d
    getMessage(JmqiEnvironment,JmqiImplementation,Hconn,Hobj,MQMD,MQ
    GMO,int,int,PbyteBuffer,Pint,Pint,Pint,Pint) Buffer
    java.nio.HeapByteBuffer[pos=0 lim=0 cap=4096]
    Length = 0x1000 (4096) bytes start=0 count=0
    offset    : 0 1 2 3  4 5 6 7  8 9 A B  C D E F
    
    is only written if the Managed File Transfer trace specification
    is either set to "=all" or contains "com.ibm.mq".
    
    ---------------------------------------------------------------
    The fix is targeted for delivery in the following PTFs:
    
    Version    Maintenance Level
    v7.5       7.5.0.6
    v8.0       8.0.0.5
    
    The latest available FTE maintenance can be obtained from
    'Fix List for WebSphere MQ File Transfer Edition 7.0'
    http://www-01.ibm.com/support/docview.wss?uid=swg27015313
    
    The latest available MQ 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

    IT11278

  • Reported component name

    WMQ MFT

  • Reported component ID

    5724H7242

  • Reported release

    750

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2015-09-16

  • Closed date

    2015-11-25

  • Last modified date

    2015-12-04

  • 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 MFT

  • Fixed component ID

    5724H7242

Applicable component levels

  • R750 PSY

       UP

[{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSCUHLE","label":"WMQ Managed File Transfer"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7.5","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
04 December 2015