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