APAR status
Closed as program error.
Error description
When using IBM MQ Telemetry service, running the command: DISPLAY CHSTATUS (MQTT) specifying a filter condition that includes the CONNAME attribute, as shown in the example below: DISPLAY CHSTATUS(*) CHLTYPE(MQTT) CLIENTID(*) ALL WHERE( CONNAME EQ '1.2.3.4') results in a NullPointerException occurring. In addition to this, an FDC is generated containing the following information: Thread :- name=Jmqi AsyncConsume Thread. tid: 5 priority=5 group=main ccl=sun.misc.Launcher$AppClassLoader@3269d6b Source Class :- com.ibm.mq.MQXRService.MQTTCommandProcessor Source Method:- processEscapePCFCommand Probe Id :- XR052012 Loaded from :- jar:file:/opt/mqm910/mqxr/lib/MQXRListener.jar !/com/ibm/mq/MQXRService/MQTTCommandProcessor.class |------------------------------------------------------------| java.lang.NullPointerException at com.ibm.mq.MQXRService.PCFUtils.matchClientFilter (PCFUtils.java:113) at com.ibm.mq.MQXRService.MQTTCommandProcessor. resolveClientID(MQTTCommandProcessor.java:3292) at com.ibm.mq.MQXRService.MQTTCommandProcessor. inquireChannelStatusInstance (MQTTCommandProcessor.java:2239) at com.ibm.mq.MQXRService.MQTTCommandProcessor. inquireChannelStatus(MQTTCommandProcessor.java:2053) at com.ibm.mq.MQXRService.MQTTCommandProcessor. processPCFCommand(MQTTCommandProcessor.java:851) at com.ibm.mq.admin.contributions.telemetry.status. InquireTelemetryChannelStatusCommandHandler.callSpi (InquireTelemetryChannelStatusCommandHandler.java:84)
Local fix
Run the command without the filter option. e.g. runmqsc <QMgr> DISPLAY CHSTATUS(*) CHLTYPE(MQTT) CLIENTID(*) ALL
Problem summary
**************************************************************** USERS AFFECTED: This issue affects users of the IBM MQ Telemetry service, who use the MQSC command: DISPLAY CHSTATUS (MQTT) to display the status of one or more MQ Telemetry channels. Platforms affected: Windows, Linux on x86-64, Linux on zSeries, AIX **************************************************************** PROBLEM DESCRIPTION: When using the MQSC command: DISPLAY CHSTATUS (MQTT) to display the status of MQ Telemetry channels, it is possible to specify a filter condition so that the command only displays information about those channels that match the condition. More information about the: DISPLAY CHSTATUS(MQTT) command can be found in the DISPLAY CHSTATUS (MQTT) topic in the MQ sections of IBM Knowledge Center. The URI for this topic in the MQ 9.1.x section of IBM Knowledge Center is https://www.ibm.com/support/knowledgecenter/SSFKSJ_9.1.0/com.ibm .mq.ref.adm.doc/q086100_.htm If the filter condition contains the CONNAME attribute, the MQ Telemetry service reads the value of that attribute for each of the MQ Telemetry channels and then compare that value to the specified condition in order to determine which channels to display. The MQ Telemetry service incorrectly assumed that the CONNAME attribute would always have a value. However, it was possible for an MQ Telemetry channel to have a null value for that attribute. In this situation, the MQ Telemetry service would try to access the attribute and generate a NullPointerException. As a result, the command would fail and the MQ Telemetry service would generate an FDC containing the information shown below: ... Source Class :- com.ibm.mq.MQXRService.MQTTCommandProcessor Source Method:- processEscapePCFCommand Probe Id :- XR052012 ... :--------------------------------------------------------------- -----------------------------------: : Exception cause: : :--------------------------------------------------------------- -----------------------------------: java.lang.NullPointerException at com.ibm.mq.MQXRService.PCFUtils.matchClientFilter (PCFUtils.java:113) at com.ibm.mq.MQXRService.MQTTCommandProcessor.resolveClientID(MQTT CommandProcessor.java:3292) at com.ibm.mq.MQXRService.MQTTCommandProcessor.inquireChannelStatus Instance(MQTTCommandProcessor.java:2239) at com.ibm.mq.MQXRService.MQTTCommandProcessor.inquireChannelStatus (MQTTCommandProcessor.java:2053) at com.ibm.mq.MQXRService.MQTTCommandProcessor.processPCFCommand(MQ TTCommandProcessor.java:851) at com.ibm.mq.admin.contributions.telemetry.status.InquireTelemetry ChannelStatusCommandHandler.callSpi(InquireTelemetryChannelStatu sCommandHandler.java:84) 	
Problem conclusion
The MQ Telemetry service has been updated to correctly handle the situation when the MQSC command: DISPLAY CHSTATUS(MQTT) is run with a filter condition containing the CONNAME attribute, and one or more of the MQ Telemetry channels has a null value for that attribute. This prevents the NullPointerException from occurring, and allows the command to correctly filter the results based on the value of the attribute. --------------------------------------------------------------- The fix is targeted for delivery in the following PTFs: Version Maintenance Level v9.1 LTS 9.1.0.8 v9.2 LTS 9.2.0.2 v9.x CD 9.2.2 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
IT34358
Reported component name
IBM MQ BASE MP
Reported component ID
5724H7271
Reported release
910
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2020-09-25
Closed date
2020-10-28
Last modified date
2020-10-28
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 BASE MP
Fixed component ID
5724H7271
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:
29 October 2020