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 » Remote Queue Def in a Cluster

Post new topic  Reply to topic Goto page 1, 2  Next
 Remote Queue Def in a Cluster « View previous topic :: View next topic » 
Author Message
PeterPotkay
PostPosted: Mon Sep 16, 2002 11:50 am    Post subject: Remote Queue Def in a Cluster Reply with quote

Poobah

Joined: 15 May 2001
Posts: 7717

Maybe an obvious question...

QM1 and QM2 are both full repositories of ClusterA.
QM3 is not part of the cluster.

QM1 has a remote queue def to QueueC on QM3. The remote queue def is a clustered queue in ClusterA.

An app on either QM1 or QM2 can now put to QueueC.

What if QM1 goes down? Is the app on QM2 now not able to get a message to QueueC? Do I need to make the remote queue def on both QM1 and QM2?
_________________
Peter Potkay
Keep Calm and MQ On
Back to top
View user's profile Send private message
jc_squire
PostPosted: Mon Sep 16, 2002 12:48 pm    Post subject: Reply with quote

Centurion

Joined: 14 Apr 2002
Posts: 105
Location: New Zealand

Hi Peter,

At the moment QM1 acts as a "gateway" for QM3 to the cluster and as a "gateway" for the cluster to QM3 i.e. messages from QM2 route to QM3 via QM1.

So, yes, you would have to define a RQ, XMITQ and CHLS on both QM1 and QM2 to bypass QM1 as a single point of failure.

The other solution is to make QM3 part of cluster, however, assume in your case it is not possible because you probably would have done it already

Regards
_________________
J C Squire
IBM Certified Specialist - MQSeries
Back to top
View user's profile Send private message
PeterPotkay
PostPosted: Mon Sep 16, 2002 1:00 pm    Post subject: Reply with quote

Poobah

Joined: 15 May 2001
Posts: 7717

Thanks thats what I thought.


Next question.

Lets say I create a clustered local queue on QM1 called LOGQUEUE. Fr the sake of discussion, we are only concerned with putting to this queue. We want to insure that messages get there, because once a week we run a batch job to look at that queue.

When QM1 and QM2 are both up, an app on QM2 can put to LOGQUEUE and the messages will end up on the local instance of LOGQUEUE on QM1, because LOGQUEUE is advertized to the custer.

IF QM1 goes down, an app on QM2 that puts to LOGQUEUE will have what happen? I assume the put will fail, right? And if so, I really should create a LOGQUEUE on both QM1 and QM2.
_________________
Peter Potkay
Keep Calm and MQ On
Back to top
View user's profile Send private message
bduncan
PostPosted: Mon Sep 16, 2002 1:12 pm    Post subject: Reply with quote

Padawan

Joined: 11 Apr 2001
Posts: 1554
Location: Silicon Valley

Yes, the put will fail (because there are no available instances of the clustered queue - try put disabling it and see for yourself), and yes, you should put an instance of LOGGING on each queue manager. Don't even make the LOGGING queues members of the cluster, just plain ol' local queues... That's exactly what we did for our logging system in a cluster...
_________________
Brandon Duncan
IBM Certified MQSeries Specialist
MQSeries.net forum moderator
Back to top
View user's profile Send private message Visit poster's website AIM Address
jc_squire
PostPosted: Mon Sep 16, 2002 1:45 pm    Post subject: Reply with quote

Centurion

Joined: 14 Apr 2002
Posts: 105
Location: New Zealand

If you realy want a single LOGGING queue you can use D/Queuing in parallel with the cluster, this way the app on QM2 will not fail if QM1 is not available and messages will just build up on the xmitq.

Regards
_________________
J C Squire
IBM Certified Specialist - MQSeries
Back to top
View user's profile Send private message
PeterPotkay
PostPosted: Mon Sep 16, 2002 6:19 pm    Post subject: Reply with quote

Poobah

Joined: 15 May 2001
Posts: 7717

What is "D/Queuing "?
_________________
Peter Potkay
Keep Calm and MQ On
Back to top
View user's profile Send private message
jc_squire
PostPosted: Mon Sep 16, 2002 6:33 pm    Post subject: Reply with quote

Centurion

Joined: 14 Apr 2002
Posts: 105
Location: New Zealand

Sorry - I should have used the correct abbreviation DQM (Distributed Queue Management) with a rq,xmitq and chl.

This is doubling up on system objects but if it makes the logging easier .....
_________________
J C Squire
IBM Certified Specialist - MQSeries
Back to top
View user's profile Send private message
PeterPotkay
PostPosted: Mon Sep 16, 2002 6:38 pm    Post subject: Reply with quote

Poobah

Joined: 15 May 2001
Posts: 7717

Got it. Thanks again.
_________________
Peter Potkay
Keep Calm and MQ On
Back to top
View user's profile Send private message
Ratan
PostPosted: Fri Sep 20, 2002 12:15 pm    Post subject: Reply with quote

Grand Master

Joined: 18 Jul 2002
Posts: 1245

If your application at QM2 puts messages on the LOGGING queue then there is no point in defining the LOGGING queue at QM1 ( if they are clustered). Because the messages will always be put to LOGGING queue on QM2.

-Laze
Back to top
View user's profile Send private message Send e-mail
Ratan
PostPosted: Fri Sep 20, 2002 12:31 pm    Post subject: Reply with quote

Grand Master

Joined: 18 Jul 2002
Posts: 1245

Quote:
Yes, the put will fail (because there are no available instances of the clustered queue - try put disabling it and see for yourself), and yes, you should put an instance of LOGGING on each queue manager. Don't even make the LOGGING queues members of the cluster, just plain ol' local queues... That's exactly what we did for our logging system in a cluster...


Sorry, But I believe this is wrong. I could be wrong though. There is a SYSTEM.CLUSTER.TRANSMIT.QUEUE which will hold your messages for the LOGGING queue untill QM1 comes up.

-Laze
Back to top
View user's profile Send private message Send e-mail
PeterPotkay
PostPosted: Tue Sep 24, 2002 8:05 am    Post subject: Reply with quote

Poobah

Joined: 15 May 2001
Posts: 7717

QM1 and QM2 are in ClusterA.
QM3 is not in any cluster, and has a local queue called FinalQ.

QM1 is the gateway to QM3. QM1 has an XMIT queue called QM3.XMIT. It has a QM Alias called QM3, which maps to QM3.XMIT. I did the following on QM1:
DEFINE QREMOTE('QM3') RNAME(' ') RQMNAME(QM3) XMITQ(QM3.XMITQ) CLUSTER(ClusterA)

DEFINE QLOCAL(QM3.XMIT) USAGE(XMIT)


An app connected to QM2 needs to get messages to FinalQ / QM3. In its open of FinalQ, it cannot specify the QM name, so I want to create a remote queue definition on QM2 that points to FinalQ / QM3. So I did the following on QM2:
DEFINE QREMOTE(FinalQ) RNAME('FinalQ') RQMNAME(QM3) XMITQ(' ') CLUSTER(ClusterA)

But any messages I put to FinalQ on QM2 just sit in the SYSTEM.CLUSTER.TRANSMIT.QUEUE.

?????
_________________
Peter Potkay
Keep Calm and MQ On
Back to top
View user's profile Send private message
vennela
PostPosted: Tue Sep 24, 2002 9:49 pm    Post subject: Reply with quote

Jedi Knight

Joined: 11 Aug 2002
Posts: 4055
Location: Hyderabad, India

That's easy:


A typo: DEFINE QLOCAL(QM3.XMIT) USAGE(XMIT)
It should have been as follows:

DEFINE QLOCAL(QM3.XMIT) USAGE(XMITQ)

I tested your setup and it is working fine.


---
Venny
Back to top
View user's profile Send private message Send e-mail Visit poster's website
PeterPotkay
PostPosted: Wed Sep 25, 2002 4:34 am    Post subject: Reply with quote

Poobah

Joined: 15 May 2001
Posts: 7717

That was a typo in the post. The XMIT queue is defined correctly, but still my messages stack up in the cluster transmit queue.


One more clue. If I use the MQExplorer to look at the QM Alias in my original setup, click on the Cluster Tab, I see that the queue is part of my Cluster. When I click on say the general tab, as I am leaving the cluster tab, I get the following error:

Code:
The queue manager is not member of the cluster 'Cluster1'. The object which you have shared is in the cluster will no be made available to other members of the cluster until you make this queue manager a member of the cluster (AMQ4514).


I get this on the gateway QM. In fact I get it for any clustered queue if I do a properties check on it on QM1. But it IS part of the cluster, since messages are using ity to get into the cluster and messages that don't use remote queue defs are leaving the cluster via this single gateway. Its like QM2 doesn't know about the QM Aliases on QM1, so the messages stack up???


Also this error doesn't show up on my teammates MQExplore, which is newer than mine. Is the error even valid?
*************************
I don't understand why yours works and mine don't.
?????

I deleted the remote queue def from QM2. I then added the remote queue def
to QM1, but this time also specified the XMIT queue in the remote queue def,
and it works.

Before I saw your postl, I concluded that if you are going to create a
remote queue def in a cluster, it needs to be on the gateway queue manager, since that is where the XMIT queue lives. Since I can't cluster the XMIT queue, I can't refer to it in a remote queue def on a clustered QM that doesn't house that XMIT queue. I didn't feel to confident though, since I don't see any docs that say you can or can't define a remote queue def anywhere in a cluster.

I did find an example of exactly what I am trying to achieve in this years
Cluster Handout from the Tech Conference in Dallas. In this example, they
define the remote queue def on the gateway QM, and the putting app is
connected to another clustered QM. It doesn't say you HAVE to do it this
way, but since it was the only example I found, I assume this was the case, until you came along and debunked that theory!
_________________
Peter Potkay
Keep Calm and MQ On
Back to top
View user's profile Send private message
jc_squire
PostPosted: Wed Sep 25, 2002 7:01 pm    Post subject: Reply with quote

Centurion

Joined: 14 Apr 2002
Posts: 105
Location: New Zealand

can you post the header of the messages on SYSTEM.CLUSTER.TRANSMIT.QUEUE
_________________
J C Squire
IBM Certified Specialist - MQSeries
Back to top
View user's profile Send private message
PeterPotkay
PostPosted: Thu Sep 26, 2002 4:41 am    Post subject: Reply with quote

Poobah

Joined: 15 May 2001
Posts: 7717

They don't have an XMIT header????

I looked in the MQExplorer and thru QPASA, and the only thing in the message buffer is my data.

I did an amqsbcgc on the cluster xmit queue and piped the output to a file. Again, just the MQMD and my message data.
_________________
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 Goto page 1, 2  Next Page 1 of 2

MQSeries.net Forum Index » Clustering » Remote Queue Def in a Cluster
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.