Inhibiting clustered publish/subscribe in a cluster

Introducing publish/subscribe into a cluster of queue managers, especially an existing cluster, must be carefully planned to accommodate any reductions in performance.

The introduction of a clustered topic into a large IBM® WebSphere® MQ cluster (one that contains many queue managers) can immediately result in additional load on each queue manager in the cluster, and in some situations, a reduction in performance. Therefore the introduction of publish/subscribe must be carefully planned. See Cluster topic performance for more information.

Where it is known that a cluster could not accommodate the overheads of publish/subscribe it is possible to disable the clustered publish/subscribe functionality in queue managers by setting the queue manager attribute PSCLUS to DISABLED.

Setting PSCLUS to DISABLED modifies three aspects of queue manager functionality:
  • An administrator of this queue manager is no longer able to define a Topic object as clustered.
  • Incoming topic definitions or proxy subscriptions from other queue managers are rejected (a warning message is logged to inform the administrator of incorrect configuration).
  • Full repositories no longer share information about every queue manager with all other partial repositories automatically when they receive a topic definition.

Although PSCLUS is a parameter of each individual queue manager in a cluster, it is not intended to selectively disable publish/subscribe in a subset of queue managers in the cluster. Apart from anything else, this method would cause frequent error messages to be seen as proxy subscriptions and topic definitions would constantly be seen and rejected. Ideally, when using this option, consistently set all queue managers in the cluster to disabled. Where a queue manager participates in one or more publish subscribe cluster or clusters, and also one or more traditional cluster or clusters, PSCLUS must be set to ENABLED on that queue manager. See the following information about disabling at the full repositories.

Importantly, setting PSCLUS to DISABLED on all full repository queue managers in the cluster prevents any clustered topic definition on an incorrectly configured partial repository from affecting other queue managers in the cluster. In such scenarios, the inconsistency is reported in the error logs of the full repository queue managers.

When overlapping a traditional point to point cluster with a publish subscribe cluster, it is important to use a separate set of full repositories in each. This arrangement allows topic definitions and 'all queue manager' information to be allowed to flow only in the publish/subscribe cluster.

There are some caveats on usage of this parameter which help to avoid inconsistent configurations. No clustered topic objects can exist in any cluster of which this queue manager is a member when modifying from ENABLED to DISABLED. Any such topics (even remotely defined ones) must be deleted before disabling this function

For more information about PSCLUS, see ALTER QMGR (PSCLUS).