IBM Support

IT34399: Managed File Transfer agent intermittently generates an FDC whenfteShowAgentDetails is run with the -d option

Subscribe to this APAR

By subscribing, you receive periodic emails alerting you to the status of the APAR, along with a link to the fix after it becomes available. You can track this item individually or track all items by product.

Notify me when this APAR changes.

Notify me when an APAR for this component changes.

 

APAR status

  • Closed as program error.

Error description

  • An IBM MQ Managed File Transfer agent has been configured with
    one or more resource monitors. Monitors are added to, and
    removed from, the agent at regular intervals.
    
    If the:
    
      fteShowAgentDetails -d <agent_name>
    
    command is run for this agent, it occasionally returns the
    following warning message:
    
    BFGCL0634W: Diagnostics were requested, but agent '<agent name>'
    is either not running, not located on the local system, or you
    do not have sufficient privileges to run this command.
    
    At the same time as the warning message is returned, the agent
    generates an FDC containing the information shown below:
    
    ------------------------------------------------------------
    Class:      com.ibm.wmqfte.agent.AgentIPCListener
    ...
    Method:     performGetDiagnosticDataCommand
    Probe:      FFDC_003
    Cause:      java.lang.NullPointerException
    java.lang.NullPointerException
    at
    com.ibm.wmqfte.monitor.MonitorDiagnosticData.putProperties(Monit
    orDiagnosticData.java:211)
    at
    com.ibm.wmqfte.agent.AgentDiagnosticData.putMonitorProperties(Ag
    entDiagnosticData.java:307)
    at
    com.ibm.wmqfte.agent.AgentDiagnosticData.generate(AgentDiagnosti
    cData.java:138)
    at
    com.ibm.wmqfte.agent.AgentIPCListener.performGetDiagnosticDataCo
    mmand(AgentIPCListener.java:167)
    at
    com.ibm.wmqfte.ipc.AbstractIPCListener.onMessage(AbstractIPCList
    ener.java:62)
    at com.ibm.wmqfte.ipc.IPCServer.onMessage(IPCServer.java:73)
    ------------------------------------------------------------
    

Local fix

Problem summary

  • ****************************************************************
    USERS AFFECTED:
    This issue affects users of MQ Managed File Transfer who:
    
    - Have agents configured with one or more resource monitors.
    - And run the "fteShowAgentDetails -d <agent_name>" to get
    information about that agent.
    
    
    Platforms affected:
    MultiPlatform
    
    ****************************************************************
    PROBLEM DESCRIPTION:
    The fteShowAgentDetails command is used to get information about
    an agent. By default, this command gets the information from the
    coordination queue manager for the Managed File Transfer
    topology that the agent belongs to. However, if the command is
    run on the same machine as the agent and the -d parameter is
    specified, then the command uses interprocess communication
    (IPC) to connect directly to the agent process in order to get
    the information - that information is then written to two
    places:
    
    - The console where the command was run from.
    - A file called
    diagnostics.<yyyyMMdd>.<HHmmss>.<ssss>.<number>.properties in
    the agent's log directory
    (<MQ_DATA_PATH>\mqft\logs\<coordination_qmgr_name>\agents\<agent
    _name>\logs)
    
    More details on the command can be found in the:
    
      fteShowAgentDetails: display MFT agent details
    
    topic in the MQ section of IBM Knowledge Center. The URI for the
    topic in the MQ 9.1.x section of IBM Knowledge Center is:
    https://www.ibm.com/support/knowledgecenter/en/SSFKSJ_9.1.0/com.
    ibm.mq.ref.adm.doc/show_agent_cmd_umb.htm
    
    
    When the fteShowAgentDetails command is run with the -d
    parameter specified, and the specified agent has one or more
    resource monitors associated with it, an internal thread within
    the agent collects diagnostic information from each of the
    monitors in turn, and includes that information in:
    
    - The output written to the console.
    - And the
    diagnostics.<yyyyMMdd>.<HHmmss>.<ssss>.<number>.properties file.
    
    An example of the output that is written to the console is shown
    below:
    
    ------------------------------------------------------
    Monitor 0 Diagnostics:
        Name:                              TESTMONITOR
        Status:                            STARTED
        Resource Type:                     directory
        Resource:                          C:\Test
        Poll Interval:                     1 days
        Batch Size:                        1
        Condition:                         Match
        Pattern:                           * (wildcard)
        Exclude Pattern:                   No Pattern
        Executing:                         false
        Last Execute Start Time:           2020-10-05T13:29:42.631Z
        Last Execute End Time:             2020-10-05T13:29:42.733Z
        Last Execute Match Count:          0
    ------------------------------------------------------
    
    Now, the thread within the agent that was processing the command
    expected every monitor to have a "Last Execute Start Time".
    However, if a resource monitor had just been created at the time
    when the fteShowAgentDetails command was run with the -d
    parameter specified, then it was possible that it would not yet
    have performed a poll and so would not have a "Last Execute
    Start Time" value. As a result, a NullPointerException was
    generated, which caused:
    
    - The:
    
        fteShowAgentDetails -d <agent_name>
    
    command to fail with the message:
    
    BFGCL0634W: Diagnostics were requested, but agent '<agent_name>'
    is either not running, not located on the local system, or you
    do not have sufficient privileges to run this command.
    
    - An empty file called
    diagnostics.<yyyyMMdd>.<HHmmss>.<ssss>.<number>.properties to be
    created in the agent's log directory
    (<MQ_DATA_PATH>\mqft\logs\<coordination_qmgr_name>\agents\<agent
    _name>\logs)
    
    - An FDC to be generated in the
    <MQ_DATA_PATH>\mqft\logs\<coordination_qmgr_name>\agents\<agent
    name>\logs\ffdc directory, which contained the following
    information:
    
    ------------------------------------------------------------
    ....
    Class:      com.ibm.wmqfte.agent.AgentIPCListener
    ...
    Method:     performGetDiagnosticDataCommand
    Probe:      FFDC_003
    Cause:      java.lang.NullPointerException
    java.lang.NullPointerException
    at
    com.ibm.wmqfte.monitor.MonitorDiagnosticData.putProperties(Monit
    orDiagnosticData.java:211)
    at
    com.ibm.wmqfte.agent.AgentDiagnosticData.putMonitorProperties(Ag
    entDiagnosticData.java:307)
    at
    com.ibm.wmqfte.agent.AgentDiagnosticData.generate(AgentDiagnosti
    cData.java:138)
    at
    com.ibm.wmqfte.agent.AgentIPCListener.performGetDiagnosticDataCo
    mmand(AgentIPCListener.java:167)
    at
    com.ibm.wmqfte.ipc.AbstractIPCListener.onMessage(AbstractIPCList
    ener.java:62)
    at com.ibm.wmqfte.ipc.IPCServer.onMessage(IPCServer.java:73)
    ------------------------------------------------------------
    

Problem conclusion

  • To resolve this issue, IBM MQ Managed File Transfer agents have
    been updated so that if a resource monitor has not started a
    poll at the time that the:
    
      fteShowAgentDetails -d <agent_name>
    
    command is run, then the output from the command will not
    include the fields:
    
    - Last Execute Start Time
    - Last Execute End Time
    
    for that monitor. This ensures that the command completes
    successfully and generates the expected ouput.
    
    ---------------------------------------------------------------
    The fix is targeted for delivery in the following PTFs:
    
    Version    Maintenance Level
    v9.x CD    9.2.0
    v9.1 LTS   9.1.0.7
    
    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

    IT34399

  • Reported component name

    IBM MQ MFT V9.1

  • Reported component ID

    5724H7272

  • Reported release

    910

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2020-09-29

  • Closed date

    2020-10-09

  • Last modified date

    2020-10-09

  • 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

    IBM MQ MFT V9.1

  • Fixed component ID

    5724H7272

Applicable component levels

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

Document Information

Modified date:
10 October 2020