ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » Clustering » Cluster Question (remote defs in overlapping clusters)

Post new topic  Reply to topic
 Cluster Question (remote defs in overlapping clusters) « View previous topic :: View next topic » 
Author Message
PeterPotkay
PostPosted: Thu Nov 21, 2002 1:48 pm    Post subject: Cluster Question (remote defs in overlapping clusters) Reply with quote

Poobah

Joined: 15 May 2001
Posts: 7717

Man, what a mess. Try and draw this one 1st before attempting to solve it!


QMA and QMB are in ClusterAB. QMA has a remote queue def called RequestQueue (RemoteQName=RequestQueue, RemoteQMname=QM1, XMITQ= blank)

QM1 and QM2 are in Cluster12. Each has a local queue called RequestQueue, and each one is clustered under Cluster12.

ClusterAB and Cluster 12 overlap. QMB is in both.

There is a QMAlias called QM1 on QMB. QM1 has QM1 as the RemoteQMname, and QM1.XMIT queue as the transmit queue. That transmit queue goes directly to QM1.




If an App on QMA puts to RequestQueue, wouldn't it's definition cause all the messages to go to QM1, via the QM1 Alias definition on QMB? Instead I see them round robin between QM1 and QM2. Why? Is there anyway the App on QMA can get all of its messages to QM1 consistently (without disabling the queue on QM2)? I thought the QMAlias along with the remote queue def would force that behavior.
_________________
Peter Potkay
Keep Calm and MQ On
Back to top
View user's profile Send private message
nimconsult
PostPosted: Thu Nov 21, 2002 11:10 pm    Post subject: Reply with quote

Master

Joined: 22 May 2002
Posts: 268
Location: NIMCONSULT - Belgium

Wow! Is this a game or real life example?

I will first suppose that you do not have a xmitq named QM1, defined on QMA, attached to a channel going from QMA to QM1. If you had one, the message would go directly from QMA to QM1, without using any cluster feature. This is a possible solution to your problem, but it does not explain why you have the problem.

Now you DO NOT have a xmitq named QM1 defined on QMA. And you do not have a QM alias QM1 defined on QMA neither.

In this case my assumption is that your message follows this route:
- on QMA, RequestQueue resolves to QM1.RequestQueue.
- There is no local definition of QM1 on QMA.
- QMA finds a definition for QM1 in clusterAB; the definition is located on QMB, so QMA routes the message to QMB.
- On QMB, the situation is honnestly not clear to me. I would tend to say that QMB routes the message over QM1.XMITQ, but apparently this is not your case. It seems that the queue name is resolved at cluster level first. Because there are two definitions of the queue QMB does round robin the messages between QM1 and QM2. If you used BIND_ON_OPEN you would go to one queue manager only.

I would like to know how the message header looks like (including XQH) when transmitted from QMA to QMB, and from QMB to QM1 or QM2. Can you capture the message on the transmission queues and give us a dump of the message? I am wondering whether the message still has QM1 as destination queue manager?
_________________
Nicolas Maréchal
Senior Architect - Partner

NIMCONSULT Software Architecture Services (Belgium)
http://www.nimconsult.be
Back to top
View user's profile Send private message Send e-mail Visit poster's website
PeterPotkay
PostPosted: Fri Nov 22, 2002 2:12 pm    Post subject: Reply with quote

Poobah

Joined: 15 May 2001
Posts: 7717

This is an existing set up I am trying to work in.

I deleted the QM Alias on QMB.

The set up is as follows now:

QMA and QMB are in ClusterAB. QMA has a remote queue def called RequestQueue (RemoteQName=RequestQueue, RemoteQMname=QM1, XMITQ= blank)

QM1 and QM2 are in Cluster12. Each has a local queue called RequestQueue, and each one is clustered under Cluster12.

ClusterAB and Cluster 12 overlap. QMB is in both.
*****************************************************

If I put messages to the remote queue def on QMA, they all go to QM1. Cool.

If I change the properties of the remote queue def to be (RemoteQName=RequestQueue, RemoteQMname=QM2, XMITQ= blank), they all go to QM2.

If I delete the remote queue def on QMA, and recreate it on QMB, the messages round robin. That I cant figure out. Why doesn't the RemoteQMname parameter in the remote queue def hold it to one QM like it did when the remote def was on QMA?
_________________
Peter Potkay
Keep Calm and MQ On
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » Clustering » Cluster Question (remote defs in overlapping clusters)
Jump to:  



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.