Cluster repository

A repository is a collection of information about the queue managers that are members of a cluster.

The repository information includes queue manager names, their locations, their channels, which queues they host, and other information. The information is stored in the form of messages on a queue called SYSTEM.CLUSTER.REPOSITORY.QUEUE. This queue is one of the default objects. On Multiplatforms, it is defined when you create an IBM MQ queue manager. On IBM MQ for z/OS, it is defined as part of queue manager customization.


Full repository and partial repository

Typically, two queue managers in a cluster hold a full repository. The remaining queue managers all hold a partial repository.

A queue manager that hosts a complete set of information about every queue manager in the cluster has a full repository. Other queue managers in the cluster have partial repositories containing a subset of the information in the full repositories.

A partial repository contains information about only those queue managers with which the queue manager needs to exchange messages. The queue managers request updates to the information they need, so that if it changes, the full repository queue manager sends them the new information. For much of the time, a partial repository contains all the information a queue manager needs to perform within the cluster. When a queue manager needs some additional information, it makes inquiries of the full repository and updates its partial repository. The queue managers use the SYSTEM.CLUSTER.COMMAND.QUEUE queue to request and receive updates to the repositories.

When migrating queue managers that are members of a cluster, migrate full repositories before partial repositories. This is because an older repository cannot store newer attributes introduced in a newer release. It tolerates them, but does not store them.

Parent topic: Cluster components