Partial Repositories

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.

Configuring a Partial Repository Member

shell
1
2
3
4
5
6
ALTER 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.

Cache Lifecycle

  1. Full repository receives new or changed cluster object definition.
  2. Repository manager publishes update to SYSTEM.CLUSTER.REPOSITORY.QUEUE peers.
  3. Partial members ingest message and update local cluster cache.
  4. Application put to cluster queue resolves using refreshed cache.
  5. Auto cluster channels may start when route to new member needed.
Partial repository symptoms and checks
SymptomLikely causeCheck
Unknown object on cluster putStale or empty cacheREFRESH CLUSTER; full repo health
Put always to same memberOnly one instance in cacheDISPLAY CLUSQ on all members
New QM invisibleChannels to full repo downCLUSRCVR CLUSSDR status
Old instance after failoverCache not updatedRepository sync time
Wrong cluster nameTypo in CLUSTER vs REPOSNLDISPLAY QMGR attributes

Joining and Leaving a Cluster

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.

REFRESH CLUSTER and Recovery

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 Repos and Workload

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.

Explainer: Branch Office Copy of Phone Book

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.

Explain Like I'm Five: Partial Repositories

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.

Practice Exercises

Exercise 1

Write MQSC for partial member join cluster LOGISTICS.

Exercise 2

Explain REPOS versus REPOSNL in three sentences.

Exercise 3

List recovery steps when partial cache is stale.

Frequently Asked Questions

Frequently Asked Questions

Test Your Knowledge

Test Your Knowledge

1. Partial repository uses:

  • REPOSNL without REPOS
  • REPOS only
  • No CLUSTER
  • Only DLQ

2. Authoritative catalog is on:

  • Full repository QMs
  • Every partial only
  • FTP server
  • JCL

3. Most application QMs are:

  • Partial repositories
  • Always full repos
  • Not in cluster
  • Listeners only

4. Stale cache fix may include:

  • REFRESH CLUSTER per docs
  • Delete all messages
  • Remove TLS
  • Stop pub/sub
Published
Read time17 min
AuthorMainframeMaster
Verified: IBM MQ 9.3 documentation