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 » Seems cluster suspend does not work

Post new topic  Reply to topic
 Seems cluster suspend does not work « View previous topic :: View next topic » 
Author Message
jeevan
PostPosted: Thu Jul 03, 2014 5:02 pm    Post subject: Seems cluster suspend does not work Reply with quote

Grand Master

Joined: 12 Nov 2005
Posts: 1432

I have two clusters. Let say clusterA and clusterB.

There are 6 PRs and 2 FRs ( for simplicity)


There are two gateways qmgrs. Lets call them as Gatew1 and Gatew2

All of the qmgrs are in clusterA. but 3 of them have higher channel rank and other 3 have o ( default)

only 3 PRs and one of the gateway gatew2 are in clusterB

Normal situation

all message should go to 3 of the qmgr which have cluster receiver channel with higher rank

But we would like to test the remaining 3 PRs whether they are functionality,

That is why the second cluster is created.

If the gatew2 is suspended from the clusterA I think the message should only go to those 3 PR which are in clusterB as the gatew2 is only active in clsuterB. But messages are going same manner, to 3PRs with higher channel rank.

When a qmgr is suspended from a cluster, should not it be out of it ? Meaning how can it still see the queues in the suspended cluster and send message to the same manner as before

ENV: MQ 7.5.0.2
Os: Windows 7 professional, Centos 6.4 on oracle VMBOX

Thanks a lot for your input
Back to top
View user's profile Send private message
bruce2359
PostPosted: Thu Jul 03, 2014 6:22 pm    Post subject: Re: Seems cluster suspend does not work Reply with quote

Poobah

Joined: 05 Jan 2008
Posts: 9394
Location: US: west coast, almost. Otherwise, enroute.

jeevan wrote:
When a qmgr is suspended from a cluster, should not it be out of it ? Meaning how can it still see the queues in the suspended cluster and send message to the same manner as before.

The SUSPEND command requests that a qmgr no longer be chosen as a destination for messages. However:

If applications have already MQOPENed (BIND_FIXED) an instance of the queue on a qmgr you subsequently SUSPEND, apps will continue to send messages to that queue.

If a queue on the SUSPENDed qmgr is the only instance of the cluster queue, messages will continue to be sent to that queue.

If you want to SUSPEND a qmgr, you should (as described in the Queue Manager Clusters doc), allow applications MQPUTting messages to cluster queues to end, then put(disable) cluster queues, then SUSPEND the qmgr.
_________________
I like deadlines. I like to wave as they pass by.
ב''ה
Lex Orandi, Lex Credendi, Lex Vivendi. As we Worship, So we Believe, So we Live.
Back to top
View user's profile Send private message
jeevan
PostPosted: Thu Jul 03, 2014 7:10 pm    Post subject: Re: Seems cluster suspend does not work Reply with quote

Grand Master

Joined: 12 Nov 2005
Posts: 1432

bruce2359 wrote:
jeevan wrote:
When a qmgr is suspended from a cluster, should not it be out of it ? Meaning how can it still see the queues in the suspended cluster and send message to the same manner as before.

The SUSPEND command requests that a qmgr no longer be chosen as a destination for messages.


In one occasion, or in test scenario, I am suspending the gateway qmgr. The purpose of this is to send messages to the 3 PRs which do not or should not receive message in normal situation. In normal situation, I am suspending the 3 PRs from clusterB which should not get messages.

bruce2359 wrote:

However:

If applications have already MQOPENed (BIND_FIXED) an instance of the queue on a qmgr you subsequently SUSPEND, apps will continue to send messages to that queue.

the DEFBIND is not fixed and I am using amqsput/c utility. It is due to the input utility as amqsput is not cluster sensitive?



bruce2359 wrote:


If a queue on the SUSPENDed qmgr is the only instance of the cluster queue, messages will continue to be sent to that queue.

If you want to SUSPEND a qmgr, you should (as described in the Queue Manager Clusters doc), allow applications MQPUTting messages to cluster queues to end, then put(disable) cluster queues, then SUSPEND the qmgr.



Let me put practically here to make you clear my situation.

There are two FR
QMGR22
QMGR23

both are FR for clusterA

QMGR22 is the only FR for clusterB


There are 2 PRs. QMGR24 and QMGR25 which hold a queue called TEST.QUEUE which is in clusterA

QMGR22 hold TEST.QUEUE which is in both clusters clusterA and clusterB

I have QMGR27 as a gateway, which is in both clusters, clusterA and clusterB


Last edited by jeevan on Thu Jul 03, 2014 7:57 pm; edited 1 time in total
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Thu Jul 03, 2014 8:10 pm    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20696
Location: LI,NY

Just as clearly as Bruce stated:
When a qmgr is suspended from a cluster it only affects load balanced INCOMING messages. Outgoing messages are not affected. Incoming messages specifically targeted to the qmgr (like response messages) are not affected.

Have fun
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
bruce2359
PostPosted: Thu Jul 03, 2014 8:15 pm    Post subject: Re: Seems cluster suspend does not work Reply with quote

Poobah

Joined: 05 Jan 2008
Posts: 9394
Location: US: west coast, almost. Otherwise, enroute.

jeevan wrote:
the DEFBIND is not fixed and I am using amqsput/c utility. It is due to the input utility as amqsput is not cluster sensitive?

Are you saying that your queue BIND attribute is set to BIND_NOT_FIXED? Post here the complete definition of your queue.

I don't have access to amqsput source at this time, but I'd suspect that it MQOPENs with BIND_AS_Q_DEF.
jeevan wrote:
Let me put practically here to make you clear my situation.

There are two FR
QMGR22
QMGR23

both are FR for clusterA

QMGR22 is the only FR for clusterB


There are 2 PRs. QMGR24 and QMGR25 which hold a queue called TEST.QUEUE which is in clusterA

QMGR22 hold TEST.QUEUE which is in both clusters clusterA and clusterB

I have QMGR27 as a gateway, which is in both clusters, clusterA and clusterB

Where (which qmgr) do you execute amqsput? Which qmgr do you suspend?
_________________
I like deadlines. I like to wave as they pass by.
ב''ה
Lex Orandi, Lex Credendi, Lex Vivendi. As we Worship, So we Believe, So we Live.
Back to top
View user's profile Send private message
jeevan
PostPosted: Thu Jul 03, 2014 9:54 pm    Post subject: Re: Seems cluster suspend does not work Reply with quote

Grand Master

Joined: 12 Nov 2005
Posts: 1432

bruce2359 wrote:
jeevan wrote:
the DEFBIND is not fixed and I am using amqsput/c utility. It is due to the input utility as amqsput is not cluster sensitive?

Are you saying that your queue BIND attribute is set to BIND_NOT_FIXED? Post here the complete definition of your queue.

I don't have access to amqsput source at this time, but I'd suspect that it MQOPENs with BIND_AS_Q_DEF.
jeevan wrote:
Let me put practically here to make you clear my situation.

There are two FR
QMGR22
QMGR23

both are FR for clusterA

QMGR22 is the only FR for clusterB


There are 2 PRs. QMGR24 and QMGR25 which hold a queue called TEST.QUEUE which is in clusterA

QMGR22 hold TEST.QUEUE which is in both clusters clusterA and clusterB

I have QMGR27 as a gateway, which is in both clusters, clusterA and clusterB

Where (which qmgr) do you execute amqsput? Which qmgr do you suspend?



I put the message from QMGR27 which is in both clusters and does not have queue defined in it

C:\Users\bua>AMQSPUT TEST.QUEUE QMGR27
Sample AMQSPUT0 start
target queue is TEST.QUEUE
1
2
3
1
2
3
1
2
3

Sample AMQSPUT0 end

C:\Users\bua>

Also suspend the same qmgr QMGR27.

Let me repeat what I am trying to achieve
I have two goals are to achieve

At present there are certain qmgrs in a single cluster. Half of the qmgrs are getting traffic and half are not. the half that do not get traffic, the queues are taken out of cluster and put disabled.

With the current setup, should a disaster occur, a manual intervention is needed to put the queues in cluster and put enable.

I am able to achieve this goal with the help of channel rank. If I set the higher channel rank for the cluster receiver channel, for the set of qmgrs which should be getting traffic, the traffice comes to them. I do not have to take the queue out of cluster and put disabled.

However, there is another goal as well

The other goal is that once in year, we should test the idle set of queue managers sending traffic. Currently, it is achieved by reversing the setup, taking out queue out of cluster and put disabling. We would like to achieve this without disturbing the traffic of the current qmgrs.

Initially, I thought, if I put the second half of the queue manager and the gateway into a new cluster and suspect the gateway from regular cluster, the message will only go to the new cluster but it is not working. message are going to all qmgrs.
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Fri Jul 04, 2014 12:38 am    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20696
Location: LI,NY

Like I said before you're going at it the wrong way!!!
If you issue the messages from QM27 and QM27 is suspended in the cluster, the only reply-to destination is QM27.

Thus the suspension does not matter as QM27 does not host the destination queue but hosts the only relevant instance of the reply-to queue.

For it to matter you would need to have the destination queue on QM27 and defined a qpolicy to ANY (so that the messages get load balanced).

Cluster suspend works fine. This is a case of working as designed.
Read up on the cluster manual to get the nuances...

Have fun
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
w33f
PostPosted: Tue Jul 08, 2014 8:58 pm    Post subject: Reply with quote

Novice

Joined: 07 Nov 2013
Posts: 17

Yeah have a read of the clustering workload algorithm: http://www-01.ibm.com/support/knowledgecenter/SSFKSJ_7.5.0/com.ibm.mq.ref.con.doc/q082390_.htm?lang=en

You'll notice that a number of things are checked before it even looks at which qmgrs are in SUSPEND state, and this takes precedence which can lead to msgs still being sent to there.
Back to top
View user's profile Send private message
bruce2359
PostPosted: Tue Jul 08, 2014 9:00 pm    Post subject: Reply with quote

Poobah

Joined: 05 Jan 2008
Posts: 9394
Location: US: west coast, almost. Otherwise, enroute.

Again, SUSPEND is merely a request that this qmgr not be used as a destination for messages. It is not a demand.
_________________
I like deadlines. I like to wave as they pass by.
ב''ה
Lex Orandi, Lex Credendi, Lex Vivendi. As we Worship, So we Believe, So we Live.
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 » Seems cluster suspend does not work
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.