After you define the same cluster queue name on QM_LONDON and QM_DR, messages do not automatically prefer London just because it is primary in your runbook—the queue manager workload algorithm needs a numeric hint. CLWLPRTY (cluster workload priority) is that hint on each queue instance and can also appear on cluster channels to influence path selection in advanced designs. Higher values mean this instance or path should win when other candidates are equally eligible after CLWLUSEQ filtering and availability checks. Beginners who copy a queue definition to a disaster recovery site without lowering CLWLPRTY on DR sometimes see fifty-fifty traffic split during normal operations, or DR never receiving failover traffic because London still wins every tie. This tutorial explains the 0–9 scale, primary and backup patterns, interaction with CLWLRANK and CLWLWGHT, setting priority on channels versus queues, DISPLAY and ALTER MQSC, monitoring with message depth counters, common misconceptions, and lab exercises to validate behavior before production cutover.
The attribute appears on local queues that have a CLUSTER name—those are the instances competing for puts. It can also be set on cluster sender and cluster receiver channels when architects want the network path choice to reflect site preference. Most teams tune queue CLWLPRTY first because application puts target queue names, not channel names. DISPLAY QLOCAL('PAYMENT.IN') CLUSTER CLWLPRTY CLWLRANK CLWLWGHT CLWLUSEQ shows the full workload picture on one member; repeat on every member that hosts an instance.
| Value | Meaning | Typical use |
|---|---|---|
| 0 | Default; no explicit preference | Single instance or let rank/weight decide |
| 1–3 | Low preference | Disaster recovery, canary, or decommissioning site |
| 4–6 | Medium preference | Secondary active site in active/active |
| 7–9 | High preference | Primary production instance |
| Mixed across sites | Relative ordering only | London 9 and Paris 5 beats Paris 5 and DR 1 |
12345678* QM_LONDON - primary DEFINE QLOCAL('SETTLEMENT.IN') CLUSTER('FIN') REPLACE + CLWLPRTY(9) CLWLRANK(0) CLWLUSEQ(LOCAL) * QM_DR - backup DEFINE QLOCAL('SETTLEMENT.IN') CLUSTER('FIN') REPLACE + CLWLPRTY(2) CLWLRANK(0) CLWLUSEQ(ANY) * Under normal operations London keeps local traffic; * if London instance unavailable, DR can receive cluster puts
CLWLUSEQ(LOCAL) on the primary encourages applications on London to use the London instance when it exists—pair with higher CLWLPRTY so remote competition is unlikely even when USEQ allows any on the backup. Backup CLWLUSEQ(ANY) lets the DR instance participate when the algorithm selects it. Failover drills should include inhibiting the primary queue (INHIBIT PUT) or stopping the queue manager to prove DR depth increases—paper architecture fails when channels are down or repository cache lacks the DR instance.
Two healthy data centers both serving traffic might use equal CLWLPRTY(5) and different CLWLWGHT values instead of priority skew—priority then does not favor one site. Alternatively, slight priority differences (7 versus 5) bias toward a larger data center while still allowing the smaller site to receive work. Document the intended steady state and measure CURDEPTH on each instance during load tests. Priority alone does not guarantee exact percentage split; weights handle proportionality better when priorities match.
Application MQOPEN bind options and DEFBIND on the queue can override or constrain this flow—developers must align with operations. A program that binds to a specific instance bypasses priority intended for cluster-wide puts.
1234ALTER QLOCAL('SETTLEMENT.IN') CLWLPRTY(1) * Planned role reversal during maintenance: ALTER QLOCAL('SETTLEMENT.IN') CLWLPRTY(9) DISPLAY QLOCAL('SETTLEMENT.IN') CLWLPRTY CLUSTER
ALTER takes effect for new routing decisions; messages already bound to an instance follow existing handles. Schedule priority swaps during low traffic and communicate to application teams. Some estates automate priority swap with operations runbooks during datacenter maintenance windows.
CLWLPRTY is the VIP level written on each teller window sign. When two windows can both serve you, the higher VIP number wins. If both signs show the same VIP level, the bank uses rank and weight rules to pick—those are CLWLRANK and CLWLWGHT.
When three toy stores share one name, CLWLPRTY is the number that tells the post office to try the store with the biggest number first when delivering a package.
Design CLWLPRTY values for primary 9, secondary 6, DR 2 on three members.
Why does CLWLPRTY not matter when only one cluster instance exists in the repository?
After raising DR from 2 to 9, what else must you verify before expecting all traffic on DR?
1. Higher CLWLPRTY generally means:
2. Default CLWLPRTY is typically:
3. Primary/backup design sets backup priority:
4. CLWLPRTY applies after which filter often runs first?