IBM Support

IT30843: MQTT client connecting to a cluster queue manager results in client FDCs indicating MQRC_CLUSTER_RESOLUTION_ERROR

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 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":"LOB36","label":"IBM Automation"}}]

Document Information

Modified date:
13 January 2020