APAR status
Closed as program error.
Error description
An MQTT client connecting to a queue manager that is a member of an MQ cluster generates the following failure data capture (FDC) record: +========================================FFDC Start======================== | Product :- WebSphere MQ Telemetry First Failure Symptom Report | Operating System :- Linux | Process Id :- 67572 | Product Long Name :- IBM WebSphere MQ | Thread :- name=ServerWorker0 priority=5 group=main ccl=sun.misc.Launcher$AppClassLoader@2e9b64eb | Source Class :- com.ibm.mq.MQXRService.MQTTServerSessionV311 | Source Method :- registerSubscriptions | Probe Id :- XR071009 | FileInformation :- /u/mqseries/var/mqm/errors/MQXR67577.FDC | Suppressed Count :- 0 | JavaDump file :- null | Thread :- ServerWorker0 | Processors :- 1 | Mem Max/Free/Tot :- 536870912 / 3443208 / 17825792 | Loaded from :- jar:file:/u/mqseries/opt/mqm/mqxr/lib/MQXRListener.jar!/com/ibm/ mq/MQXRService/MQTTServerSessionV311.class | QueueManager :- TESTQMGR |--------------------------------------------------------------- ----------- No MQM Function Stack Available :--------------------------------------------------------------- ----------- : Exception cause: :--------------------------------------------------------------- ------------ com.ibm.mq.MQXRService.MQException: AMQXR0004E: MQSeries verb=MQOPEN(String) returned cc=2(int) MQCC_FAILED rc=2189(int) MQRC_CLUSTER_RESOLUTION_ERROR. at com.ibm.mq.MQXRService.MQConnection.getMQException(MQConnection. java:1250) at com.ibm.mq.MQXRService.MQConnection.open(MQConnection.java:245) at com.ibm.mq.MQXRService.MQSubscriptionWrapper.subWithOptions (MQSubscriptionWrapper.java:434) at com.ibm.mq.MQXRService.MQSubscriptionWrapper.alterSub (MQSubscriptionWrapper.java:306) at com.ibm.mq.MQXRService.MQTTServerSession.subscribeForTopic (MQTTServerSession.java:1252) at com.ibm.mq.MQXRService.MQTTServerSessionV311.registerSubscriptio ns (MQTTServerSessionV311.java:752) at com.ibm.mq.MQXRService.MQTTServerSessionV311.receiveSubscribe (MQTTServerSessionV311.java:679) at com.ibm.mq.MQXRService.MQTTServerSessionV311.handleReceive (MQTTServerSessionV311.java:183) at com.ibm.mq.MQXRService.MQTTServerContext.handleReceive (MQTTServerContext.java:153) at com.ibm.mq.MQXRService.MQTTWireContext.receive (MQTTWireContext.java:375) at com.ibm.mq.communications.NonBlockingConnection.receive (NonBlockingConnection.java:378) at com.ibm.mq.communications.NonBlockingWorker.run (NonBlockingWorker.java:398) at java.lang.Thread.run(Thread.java:809) :--------------------------------------------------------------- ---------------- Class: class com.ibm.mq.MQXRService.MQException cc=2(int) rc=2189(int) mqVerb=MQOPEN(com.ibm.mq.MQXRService.MQException$MQVerb) Class: class com.ibm.mq.MQXRService.MQException$MQVerb mqObjectName=SYSTEM.MQTT.PUBLICATION.QUEUE(java.lang.String) Object :- com.ibm.mq.MQXRService.MQException: AMQXR0004E: MQSeries verb=MQOPEN(String) returned cc=2(int) MQCC_FAILED rc=2189(int) MQRC_CLUSTER_RESOLUTION_ERROR : Class@Hashcode :- com.ibm.mq.MQXRService.MQException@7e44b697 : Loaded from :-jar:file:/u/mqseries/opt/mqm/mqxr/lib/MQXRListener.jar!/com/ib m/mq/MQXRService/MQException.class : Modified date :- Sat Oct 17 08:32:16 CDT 2015 : Version :- p800-004-151017 : Title :- MQXR service
Local fix
Problem summary
**************************************************************** USERS AFFECTED: Users of MQTT where the MQXR is connected to a queue manager which is part of a queue manager cluster configuration (possibly a publish subscribe cluster) Platforms affected: MultiPlatform **************************************************************** PROBLEM DESCRIPTION: The MQTT ClientId was incorrectly being used as the ObjectQMgrName during name resolution (https://www.ibm.com/support/knowledgecenter/en/SSFKSJ_8.0.0/com .ibm.mq.dev.doc/q025990_.htm) in an attempt to open the SYSTEM.MQTT.TRANSMIT.QUEUE to place published messages.
Problem conclusion
The problem has been resolved by detecting that the ObjectName for the MQOPEN, is for the MQXR Listener and eliminating the lookup of the MQTT ClientID, in the cluster cache. Removing the cluster cache lookup also mitigates against cluster cache subscriptions (requests to the full repositories) and possible delays waiting for those full repositories to respond indicating no knowledge of the provided client id, as a queue manager in the configuration. The MQOPEN will now directly resolve to the default transmission queue setup for the MQXR Listener. --------------------------------------------------------------- The fix is targeted for delivery in the following PTFs: Version Maintenance Level v8.0 8.0.0.14 v9.0 LTS 9.0.0.9 v9.1 CD 9.1.5 v9.1 LTS 9.1.0.5 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
IT30843
Reported component name
IBM MQ BASE MP
Reported component ID
5724H7251
Reported release
800
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2019-11-04
Closed date
2020-01-13
Last modified date
2020-01-13
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
PH20951
Fix information
Fixed component name
IBM MQ BASE MP
Fixed component ID
5724H7251
Applicable component levels
[{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSYHRD","label":"IBM MQ"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"8.0.0.0","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}}]
Document Information
Modified date:
13 January 2020