IBM Support

2189 MQRC CLUSTER RESOLUTION ERROR

Troubleshooting


Problem

This document is intended to be a guide to understanding and diagnosing IBM MQ 2189 problems. 2189 MQRC_CLUSTER_RESOLUTION_ERROR

Resolving The Problem

What is a 2189 MQRC_CLUSTER_RESOLUTION_ERROR error

A 2189 MQRC_CLUSTER_RESOLUTION_ERROR (from MQOPEN) signifies that a queue manager has not been able to determine if queues of the specified object name are shared within clusters of which it is a member.

More specifically, the queue manager has not received a reply to subscriptions sent to 2 full repository queue managers for each cluster of which it is a member. It waits up to 10 seconds to receive at least one response to these subscriptions.

When do 2189 MQRC_CLUSTER_RESOLUTION_ERROR errors occur

When an application performs an MQOPEN call against a queue manager, that queue manager might not have knowledge of any queue with the specified name.
Example: there are no local queue objects with that name, and no cluster queue records of that name are shown in DISPLAY QCLUSTER.

The (first) time this occurs for a particular object name, subscriptions are generated against two full repositories in all clusters of which that queue manager is a member (as a partial repository). Subscriptions for a particular object name are only generated once every 30 days.

In the successful case this subscription will be acknowledged by all of these full repositories (either with a publication about instances of queues shared in the cluster, or with information that no queues of that name are shared in the cluster). The minimum requirement is that at least one of the full repositories acknowledges the subscription.

An MQOPEN that caused subscriptions to be created waits for up to 10 seconds for an acknowledgment.

If no response is received from any full repository after 10 seconds, then the MQOPEN call will fail with 2085 MQRC_UNKNOWN_OBJECT_NAME or 2189 MQRC_CLUSTER_RESOLUTION_ERROR.

Subsequent calls to MQOPEN with the same object name will return immediately with 2189 MQRC_CLUSTER_RESOLUTION_ERROR. This is because the subscription has already been generated, has not been acknowledged by any full repository, and is older than 10 seconds.

What are the possible causes

During the MQOPEN call which waits for 10 seconds a number of steps occur. The failure of any of these steps can cause a 2189 MQRC_CLUSTER_RESOLUTION_ERROR (for this or future MQOPEN calls for that object name). These are summarized as follows:

  1. The MQOPEN call causes commands to be issued against the repository manager component of the queue manager where the MQOPEN is issued.
  2. When processed by the repository manager component, these cause commands to be issued against two full repositories in each cluster of which the queue manager is a member.
  3. These commands flow to the full repositories over the cluster channels to those full repository queue managers.
  4. These commands are processed by the repository manager component of each full repository queue manager.
  5. Acknowledgments and any publications flow back to the partial repository (where the MQOPEN was issued) from the full repositories, over cluster channels.
  6. The repository manager component of the partial repository queue manager (where the MQOPEN was issued) processes these messages and updates the cluster information held by that queue manager.
  7. At this point the MQOPEN can complete, either successfully or with 2085 MQRC_UNKNOWN_OBJECT_NAME, depending on whether any instances of the queue were found in the cluster(s).

As such there are a number of reasons why a 2189 MQRC_CLUSTER_RESOLUTION_ERROR return code might be observed. The following list documents a number these, and suggests routes of investigation:

  • Reason: The cluster channels from the partial repository queue manager to the full repository queue manager cannot, or have not, started.
    Diagnosis: It should be possible to determine this from DIS CHS MQSC output at the partial repository side, and the queue manager error logs.
  • Reason: The cluster channels from the full repository queue manager to the partial repository queue manager cannot, or have not, started.
    Diagnosis: It should be possible to determine this from DIS CHS MQSC output at the full repository side, and the queue manager error logs.
  • Reason: The repository manager process (amqrrmfa for Multiplatform) is no longer running on the partial repository.
    Diagnosis: It should be possible to determine this from the queue manager error logs on the partial repository side. Look for message AMQ9448E (for Multiplatform) or CSQX448E (in the CHIN job log for z/OS).
  • Reason: The repository manager process (amqrrmfa for Multiplatform) is no longer running on the full repository.
    Diagnosis: It should be possible to determine this from the queue manager error logs on the full repository side. Look for message AMQ9448E (for Multiplatform) or CSQX448E (in the CHIN job log for z/OS).
  • Reason: Command messages are being DLQed by the full repository queue manager.
    Diagnosis: It should be possible to determine this from the queue manager error logs on the full repository side.
  • Reason: A more complex failure regarding the partial or full repository caches has occurred which is preventing the subscription from reaching the full repository, or the full repository's acknowledgment from reaching the partial repository.
    Diagnosis: Check the cluster appears healthy (in DISPLAY CLUSQMGR output from both the partial and full repository queue managers involved), and check each item above. Ensure that the latest maintenance has been applied to the partial repository, and full repository, queue managers involved. If the problem cannot be resolved, then contact IBM service.

[{"Type":"MASTER","Line of Business":{"code":"LOB45","label":"Automation"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSYHRD","label":"IBM MQ"},"ARM Category":[{"code":"a8m0z00000008PPAAY","label":"Clustering"}],"ARM Case Number":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"All Versions"}]

Product Synonym

WMQ MQ

Document Information

Modified date:
20 May 2023

UID

swg21225022