Subscription propagation is how IBM MQ tells the cluster that a consumer on QM_PARIS wants messages about prod/retail/order/# so that when a publisher on QM_LONDON emits an event, the routing layer knows to forward copies. Without propagation, each queue manager is an island: local publish matches local subs only. Propagation depends on SUBSCOPE, clustered topic definitions, healthy CLUSSDR and CLUSRCVR channels, and repository synchronization between full and partial repositories. Beginners confuse propagation with message movement—propagation is interest registration across the topology; delivery happens later on publish. This tutorial explains SUBSCOPE ALL versus QMGR, administrative ASPARENT subs, repository timing, DISPLAY and status commands, failure modes when channels flap, and capacity when many propagated subs multiply remote routing work.
DEFINE SUB with SUBSCOPE(QMGR) registers only on the local queue manager object repository. Publications from remote members do not target that interest unless other mechanisms bridge queue managers. SUBSCOPE(ALL) adds cluster advertisement—remote publishers participating in cluster pub/sub can include that subscriber in fan-out calculations. Choosing scope is an architecture decision affecting security, bandwidth, and operations visibility.
| Factor | Effect on propagation | What to check |
|---|---|---|
| SUBSCOPE ALL | Interest visible cluster-wide | DISPLAY SUB SUBSCOPE |
| CLUS topic parent | Enables cluster pub/sub branch | DISPLAY TOPIC TOPTYPE CLUSTER |
| Cluster channels RUNNING | Metadata and messages flow | DISPLAY CHSTATUS CLUSSDR |
| QM cluster membership | Node in repository | DISPLAY CLUSQMGR |
| Repository role | Full vs partial sync speed | QMGR REPOS attribute |
123456DEFINE TOPIC('EVENTS.CLUS') TOPSTR('prod/events') TOPTYPE(CLUS) + CLUSTER('CORP') PUBSCOPE(ALL) SUBSCOPE(ALL) DEFINE SUB('EVENTS.PARIS') TOPICSTR('prod/events/#') + DESTQL('EVENTS.PARIS.Q') DESTQMGR('QM_PARIS') SUBSCOPE(ALL) DURSUB(YES) DISPLAY SUB('EVENTS.PARIS') SUBSCOPE DESTQL DISPLAY CHSTATUS('CORP.QM_PARIS') WHERE(CHLTYPE EQ CLUSRCVR)
When administrative cluster topic EVENTS.CLUS sets SUBSCOPE(ALL), child subscriptions with SUBSCOPE(ASPARENT) inherit propagation behavior—reduces inconsistent subs under the same domain. Changing parent SUBSCOPE requires impact analysis on all ASPARENT children. Document inheritance in topic catalog.
Thousands of SUBSCOPE(ALL) subscriptions with # patterns increase repository churn and routing tables. Prefer fewer administrative subs with broader patterns over per-application ALL subs on every QM. Consolidate analytics to dedicated subscriber queue managers.
Propagation is photocopying the sign-up sheet to every office in the company so any office that produces news knows who to mail copies to—not mailing the articles themselves yet.
You tell every school in the district you want dinosaur news, not just your teacher. Propagation is telling all the schools; delivery is when someone actually sends you the paper.
Compare SUBSCOPE QMGR vs ALL for Paris subscriber and London publisher.
List five checks when remote publish does not reach DEST.
Why consolidate ALL subs instead of one per microservice?
1. SUBSCOPE ALL helps:
2. Propagation shares:
3. QMGR scope subscription:
4. After DEFINE SUB remote pub fails check: