|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
Howto take one QM out of a high availability cluster |
« View previous topic :: View next topic » |
Author |
Message
|
scottbell |
Posted: Mon Sep 29, 2003 5:30 am Post subject: Howto take one QM out of a high availability cluster |
|
|
Newbie
Joined: 03 Apr 2003 Posts: 5 Location: UK
|
Problem is this.
A cluster has the following:
3 Queue Managers on difference machines all with one queue, say TEST.QUEUE.
A 4th QM, which has no queues, but gets all the connections from clients, then passes messages to the TEST.QUEUE and since there are three individual queues, the QM will load balance the messages between all three.
But..
How do you take one QM with TEST.QUEUE out so that it IMMEDIATELY gets no further messages. For example you want to take it offline for a few moments for whatever reason.
Do you PUT inhibit the queue on it, or do you suspend the queue manager from the cluster or do you stop the queue manager.
I suspect that if you put inhibit the queue then the cluster will still send messages to it. If you suspend it, I think this is maybe the best option.
Can someone let me know what they think. |
|
Back to top |
|
 |
jefflowrey |
Posted: Mon Sep 29, 2003 5:53 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
If you can afford to stop the queue manager, then that will work.
Otherwise, you can stop the Channel initiator and the listener.
Basically you have to take the QM off the network somehow or another. (You could also unplug the network cable... ) _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
vmcgloin |
Posted: Mon Sep 29, 2003 6:09 am Post subject: |
|
|
Knight
Joined: 04 Apr 2002 Posts: 560 Location: Scotland
|
We use put_inhibit to do this... which is fine if it is just a few queues you want avoided - so long as the clustered queue is not the only one with that name, and you use BIND_NOT_FIXED so that application that already have an instance of the clustered queue open are able to put their messages to a different instance of that queue.
The problem with this might be the immediate bit - the put_inhibited change needs to be propagated around the cluster - which should be quick under normal circumstances but I do not know how quick it is.
Cheers,
Vicky |
|
Back to top |
|
 |
PeterPotkay |
Posted: Mon Sep 29, 2003 8:59 am Post subject: |
|
|
 Poobah
Joined: 15 May 2001 Posts: 7722
|
The official way? Issue the suspend command with the force option.
SUSPEND QMGR CLUSTER(yourclustername) MODE(FORCE).
This will advise other QMs not to send work to it, but if messages are already on their way, or if they specifically say they want to go to this QM, then the messages will still get sent.
The unofficial way?
Stop the CLUSRCVR channel into the QM you want to remove from the cluster. Even if something specifically is addressed to this QM, it will now wait on the sending side's SYSTEM.CLUSTER.TRANSMIT.QUEUE until you restart the channel.
Then stop your Automatic CLUSSNDRS, and finally your manual CLUSSNDR. The QM is completly removed from the cluster at this point. _________________ Peter Potkay
Keep Calm and MQ On |
|
Back to top |
|
 |
|
|
 |
|
Page 1 of 1 |
|
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
|
|
|
|