Most queue managers in a production IBM MQ cluster are partial repositories: they run applications, host cluster queues, and cache cluster routing knowledge copied from the two full repository members. ALTER QMGR REPOSNL('SALES') tells the queue manager to participate in cluster SALES as a non-authoritative member—learn ORDERS.IN locations from full repos rather than owning the master list. When a developer defines a cluster queue on a partial member, that definition propagates to full repositories, then fans out to other partial members. Lag or failure in that chain produces the classic “queue exists on QM_APP but DISPLAY QLOCAL on QM_REPORTING shows nothing”—not authorization, cache. This tutorial covers REPOSNL configuration, difference from REPOS, cluster cache behavior, joining and leaving clusters, REFRESH CLUSTER overview, workload interaction, and troubleshooting partial members without harming full repository pair.
123456ALTER QMGR CLUSTER('SALES') CLUSNL('SALES') ALTER QMGR REPOSNL('SALES') * Do NOT set REPOS('SALES') on this QM - that would make it full DISPLAY QMGR CLUSTER CLUSNL REPOS REPOSNL DEFINE QLOCAL('ORDERS.IN') CLUSTER('SALES') REPLACE * Other members learn via repository sync
CLUSTER and CLUSNL associate the queue manager with the cluster name for outbound cluster activity. REPOSNL marks partial repository role. Omit REPOS on application-facing members unless they are designated full repository hosts in architecture documents.
| Symptom | Likely cause | Check |
|---|---|---|
| Unknown object on cluster put | Stale or empty cache | REFRESH CLUSTER; full repo health |
| Put always to same member | Only one instance in cache | DISPLAY CLUSQ on all members |
| New QM invisible | Channels to full repo down | CLUSRCVR CLUSSDR status |
| Old instance after failover | Cache not updated | Repository sync time |
| Wrong cluster name | Typo in CLUSTER vs REPOSNL | DISPLAY QMGR attributes |
Join: configure CLUSTER, CLUSNL, REPOSNL, cluster channels to at least one running member or full repo, start queue manager, verify DISPLAY CLUSQMGR shows your QM. Leave: remove cluster definitions, stop channels, ALTER QMGR to clear REPOSNL—plan application cutover first. Abrupt removal while traffic flows strands in-flight cluster messages on channels.
When repository inconsistencies are suspected after split-brain or long outage, IBM MQ provides REFRESH CLUSTER and related recovery procedures varying by version—use official recovery guide before manual object deletes. Partial members can often refresh from full repos without full queue manager rebuild. Document approved recovery sequence in operations manual; ad hoc deletes of SYSTEM.CLUSTER.REPOSITORY.QUEUE messages without IBM guidance risk corrupting catalog.
Partial members execute cluster workload management algorithms using cached knowledge of CLWLPRTY, CLWLRANK, CLWLWGHT on target queues. Incomplete cache means algorithm sees fewer instances—load may skew until sync completes. See cluster workload management tutorial for attribute meaning.
Partial repository is a branch office that keeps a photocopy of the headquarters phone book updated by courier. You can work from the copy daily; if headquarters stops sending updates, your copy goes stale and you misroute mail.
Most schools get a copy of the district class list from the main office. They are not the main office—they just need an updated copy to know where to send visitors.
Write MQSC for partial member join cluster LOGISTICS.
Explain REPOS versus REPOSNL in three sentences.
List recovery steps when partial cache is stale.
1. Partial repository uses:
2. Authoritative catalog is on:
3. Most application QMs are:
4. Stale cache fix may include: