Author |
Message
|
balaraju |
Posted: Mon Feb 06, 2017 8:10 am Post subject: Same Queue Local name in two full repositories |
|
|
Apprentice
Joined: 06 Feb 2017 Posts: 29
|
We have a situation in which a queue manager belongs to two full repositories for Dev and Test. And when i place a message to a qalias that is pointing to a local queue which is present in both the repositories(2 qmgr), which cluster would it point to?
I have clussdr channel to both the repositories and planning to have 2 clusrcvrs , one for Dev and the other for test. When i set the cluster property of Qalias to Dev, will it always go to Dev(considering Test repository queue manager has a queue local with the same name)?
For example, qlocal SAMPLE.IN is present in 2 different qmgrs associated with respective full repositories say Dev.clus and Test.clus
Need help on this please |
|
Back to top |
|
 |
Vitor |
Posted: Mon Feb 06, 2017 8:54 am Post subject: Re: Same Queue Local name in two full repositories |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
balaraju wrote: |
I have clussdr channel to both the repositories and planning to have 2 clusrcvrs , one for Dev and the other for test. When i set the cluster property of Qalias to Dev, will it always go to Dev(considering Test repository queue manager has a queue local with the same name)? |
- data doesn't flow over manually defined cluster channels; cluster information does. Data flows over auto defined cluster channels.
- A queue object's membership in a cluster is determined by it's cluster property and not by the participation (or otherwise) of the queue manager in a cluster, except that a queue object can only participate in a cluster that the hosting queue manager is a member of.
I'm going to charitably assume you've not completely described your clusters, and not give the standard lecture about the undesirability of hosting data queues on full repositories because you're describing a non-Prod set up. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
balaraju |
Posted: Mon Feb 06, 2017 9:35 pm Post subject: Re-framing the question |
|
|
Apprentice
Joined: 06 Feb 2017 Posts: 29
|
qmgrX is in a partial repository, and has an alias object defined as being in clusterA, and the alias is pointing at TARGQ (TARGQ is defined in 2 different clustersA and B). If we specify the alias as being in clusterA, will the qmgr selection of TARGQ favor the one defined in clusterA as well?
and the TARGQ is not found locally.
can the alias in clusterA ever see the TARGQ in clusterB? |
|
Back to top |
|
 |
mqjeff |
Posted: Tue Feb 07, 2017 4:53 am Post subject: Re: Re-framing the question |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
balaraju wrote: |
qmgrX is in a partial repository, and has an alias object defined as being in clusterA, and the alias is pointing at TARGQ (TARGQ is defined in 2 different clustersA and B). If we specify the alias as being in clusterA, will the qmgr selection of TARGQ favor the one defined in clusterA as well?
and the TARGQ is not found locally.
can the alias in clusterA ever see the TARGQ in clusterB? |
Yes. The alias resolves to the name of a queue on a queue manager that belongs to two clusters. Both of those clusters have instances of the queue that is named by the alias.
The queue manager will resolve the alias and then route to the named queue. _________________ chmod -R ugo-wx / |
|
Back to top |
|
 |
Vitor |
Posted: Tue Feb 07, 2017 5:25 am Post subject: Re: Re-framing the question |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
balaraju wrote: |
can the alias in clusterA ever see the TARGQ in clusterB? |
Yes. It's the alias that's one cluster - the target is in both.
And don't double post - it's considered rude. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
gbaddeley |
Posted: Tue Feb 07, 2017 5:07 pm Post subject: Re: Same Queue Local name in two full repositories |
|
|
 Jedi Knight
Joined: 25 Mar 2003 Posts: 2538 Location: Melbourne, Australia
|
balaraju wrote: |
We have a situation in which a queue manager belongs to two full repositories for Dev and Test. And when i place a message to a qalias that is pointing to a local queue which is present in both the repositories(2 qmgr), which cluster would it point to?
I have clussdr channel to both the repositories and planning to have 2 clusrcvrs , one for Dev and the other for test. When i set the cluster property of Qalias to Dev, will it always go to Dev(considering Test repository queue manager has a queue local with the same name)?
For example, qlocal SAMPLE.IN is present in 2 different qmgrs associated with respective full repositories say Dev.clus and Test.clus
Need help on this please |
If I understand you correctly: Putting the qalias in a cluster does not mean that messages will be routed to the instances of the target queue that are only in that cluster. MQ will resolve and route to instances of any queues that have the same name as the target queue in any cluster. In this case, it looks like the same local queue name exists in 2 clusters (Dev and Test), so it will round robin between the 2 clusters. This is probably not what you intended.
A solution is to use different target queue names for Dev and Test. Eg. including an environment identifier or cluster identifier at the end of the name. These target queues can be qaliases on the Dev and Test queue managers, which resolve to the intended local queue name on the local queue manager.
Another solution is to use a qremote instead of qalias. The qremote can then specify the remote queue manager name. MQ will route messages via the cluster channels. The qremote does not need to be in a cluster. In fact, the qlocals do not need to be in the cluster for this solution.
Side note: Please use the correct terminology for MQ clustering.
"queue manager belongs to two full repositories" should be "queue manager belongs to two MQ clusters"
"present in both the repositories(2 qmgr)" should be "present in both clustered queue managers"
When discussing messaging through MQ clusters, it is irrelevant as to whether a queue manager is a full repository or a partial repository. They both work the same for MQ messaging.
I should point out that in large scale designs, the full repository queue managers (exactly 2 of them for each cluster) are normally not used for messaging. Of course a qmgr can be a full repository for multiple clusters, by using cluster name lists. _________________ Glenn |
|
Back to top |
|
 |
balaraju |
Posted: Mon Feb 13, 2017 5:33 am Post subject: |
|
|
Apprentice
Joined: 06 Feb 2017 Posts: 29
|
Thank you all. We have used qremotes for Dev and cluster for Test and this resolved the issue. And sorry for double posting it. |
|
Back to top |
|
 |
|