CLWLUSEQ

CLWLUSEQ (cluster workload use queue) decides whether your queue manager treats its own copy of a cluster queue as the only target for local application puts, or as one equal choice among every instance in the cluster. Wrong CLWLUSEQ settings send traffic over expensive WAN links when processing could stay on box, or leave a local server idle while remote nodes overload. This page covers CLWLUSEQ(LOCAL), CLWLUSEQ(ANY), and CLWLUSEQ(QMGR) on queues, the matching queue manager attribute, how the cluster workload algorithm uses the flag, and design patterns for hub processing versus scale-out consumers—aimed at beginners who already defined CLUSTER and DEFBIND on a queue.

Local Instance vs Cluster Pool

When ORDERS.IN exists on QM_APP1 and QM_APP2 in cluster SALES, a put on QM_APP1 must choose a destination. CLWLUSEQ(LOCAL) on QM_APP1 says: if ORDERS.IN exists here, put it here—do not load-balance to QM_APP2 for application puts. CLWLUSEQ(ANY) says: consider QM_APP1's copy alongside QM_APP2's copy using weights, channel state, and CLWLPRTY. The algorithm is documented in IBM's cluster workload management guide; CLWLUSEQ is one of the early filters.

CLWLUSEQ values on QLOCAL
ValueEffect on application putsTypical scenario
LOCALUse only the queue on this queue managerProcess where you produce; avoid cross-QM traffic
ANYLocal instance competes in cluster workloadShared pool of workers on many nodes
QMGRUse queue manager CLWLUSEQ settingCentral policy with per-queue overrides

Queue Manager CLWLUSEQ

ALTER QMGR CLWLUSEQ(LOCAL) or ANY sets the default when queues say CLWLUSEQ(QMGR). Data centers often set QMGR to LOCAL for branch spokes (keep work on site) and ANY on central hubs (absorb cluster-wide load). Document the standard: new cluster queues inherit QMGR via CLWLUSEQ(QMGR) unless a template specifies LOCAL for edge nodes. DISPLAY QMGR CLWLUSEQ during incident response when puts “unexpectedly” remote.

CLWLUSEQ(LOCAL) Deep Dive

Branch registration: stores put orders to ORDERS.IN locally; consumers on the same queue manager drain the queue without cross-city channel use. If the local instance is unavailable (queue full, GET inhibited), behavior falls to algorithm rules and alternate instances—test failure cases. LOCAL does not stop other members from putting to their own local instances; it is not global affinity by customer ID unless you partition queue names or use message keys.

CLWLUSEQ(ANY) Deep Dive

Stateless worker pools on four queue managers all host ORDERS.IN with ANY—puts spread by workload. Combine with DEFBIND(NOTFIXED) for maximum distribution. Consumers on all four nodes compete for work. Watch channel utilization: ANY may still prefer local when channels to remote are degraded—algorithm details matter during partial outages. Symmetric ANY on all members is easier to reason about than mixed LOCAL/ANY without a diagram.

MQSC Examples

shell
1
2
3
4
5
6
7
ALTER QMGR CLWLUSEQ(ANY) DEFINE QLOCAL('ORDERS.IN') REPLACE CLUSTER('SALES') + CLWLUSEQ(QMGR) DEFBIND(NOTFIXED) * Force local-only on edge server: ALTER QLOCAL('ORDERS.IN') CLWLUSEQ(LOCAL) DISPLAY QLOCAL('ORDERS.IN') CLWLUSEQ CLUSTER DISPLAY QMGR CLWLUSEQ

With DEFBIND and CHANNEL Weights

CLWLUSEQ narrows candidates; DEFBIND sticks messages to an instance; CLWLPRTY and CLWLRANK on channels and queues bias choice among remaining candidates. A queue with LOCAL plus DEFBIND(OPEN) keeps a session on the local box. ANY plus NOTFIXED spreads each put. Troubleshooting “why did this message go to QM2?” requires DISPLAY CHSTATUS on cluster channels and reviewing all three attribute families on source and target definitions.

Design Checklist

  • Document LOCAL vs ANY per application and environment (dev may differ from prod).
  • Align all instances of a cluster queue name on attributes that affect routing.
  • Measure cross-QM traffic before and after changing CLWLUSEQ.
  • Do not change CLWLUSEQ during peak without rollback plan.

Explain Like I'm Five: CLWLUSEQ

You have snack stands in four parks (cluster instances). LOCAL means “if this park has a stand, always buy here.” ANY means “pick any stand in the city based on shortest line rules,” including yours.

Practice Exercises

Exercise 1

Retail stores put orders locally and process locally—sketch CLWLUSEQ and DEFBIND choices.

Exercise 2

Four-way worker pool with no locality—which CLWLUSEQ on each member?

Exercise 3

After ALTER QMGR CLWLUSEQ(LOCAL), queues with CLWLUSEQ(QMGR) behave how?

Frequently Asked Questions

Frequently Asked Questions

Test Your Knowledge

Test Your Knowledge

1. CLWLUSEQ(LOCAL) means:

  • Puts stay on local instance if available
  • Never use cluster
  • Only XMITQ
  • DLQ only

2. CLWLUSEQ(ANY) is used when:

  • You want local queue in workload pool
  • You disable cluster
  • Only z/OS
  • Only topics

3. CLWLUSEQ(QMGR) uses:

  • Queue manager default CLWLUSEQ
  • Random port
  • INITQ name
  • BOQNAME

4. CLWLUSEQ does not apply to:

  • Messages on cluster channels
  • Application MQPUT
  • Cluster queue names
  • LOCAL queues in cluster
Published
Read time14 min
AuthorMainframeMaster
Verified: IBM MQ 9.3 documentation