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.