We are migrating some queues to allow a new consumer to read the messages We have the following setup in a cluster 2 Full repos QMF1 and QMF2 with a Queue Alias (QAF) 2 Partial repos QMB1 and QMB2 with a Cluster Queue Local (QLB)
Message from APP1 put messages to the QAF queues with a target of QLB, application APP2 consumes the messages from QLB.
Routes then are
APP1 -> QAF (QMF1) -> QLB (QMB1) -> APP2
APP1 -> QAF (QMF1) -> QLB (QMB2) -> APP2
APP1 -> QAF (QMF2) -> QLB (QMB1) -> APP2
APP1 -> QAF (QMF2) -> QLB (QMB2) -> APP2
In order to achieve the migration without changing the Applications configuration we have introduced a new Partial QMGR QMN1 and additional Cluster Queue Alias QAN with a non-Clustered QLB, this allows the QAF TARGET to be changed from QLB to QAN
Routes ideally is
APP1 -> QAF (QMF1) -> QAN (QMN1) -> QLB (QMN1) -> APP3
Initial low volume test can see this is working OK, however when looking at the queues available to QMN1 we have the following QMGR QMN1 has
QLB on QMN1, Local queue
QLB on QMB1, cluster queue
QLB on QMB2, cluster queue
Is this now going to be an issue when volume of traffic is introduced, will it be possible for the below scenarios to also work
APP1 -> QAN (QMN1) -> QLB (QMB1) -> APP2
APP1 -> QAN (QMN1) -> QLB (QMB2) -> APP2
When opening a queue, a matching local, non-clustered queue is selected ahead of any clustered queues.
In the configuration described, this means that messages sent to QMN1 with a target queue name of QLB will be put to the local queue instance and the clustered queues will not be considered.
Reference: https://www.ibm.com/docs/en/ibm-mq/9.3?topic=call-name-resolution