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 » Questions about delivery on a suspended qmgr

Post new topic  Reply to topic Goto page 1, 2  Next
 Questions about delivery on a suspended qmgr « View previous topic :: View next topic » 
Author Message
mattfarney
PostPosted: Sun Feb 17, 2013 1:07 pm    Post subject: Questions about delivery on a suspended qmgr Reply with quote

Disciple

Joined: 17 Jan 2006
Posts: 167
Location: Ohio

Let's assume that I suspend a non-repository QM.
That QM contains the only copy of a queue (let's say alpha) shared in the cluster.

From the infocenter:
Quote:
While the queue manager is suspended the workload management routines avoid sending messages to it, other than messages that have to be handled by that queue manager. Messages that have to be handled by that queue manager include messages sent by the local queue manager.


The term 'messages that have to be handled' is never really defined. The page on "The cluster workload management algorithm" is detailed, but without knowing how some of the internals work, I can't apply it to this situation.

Questions:
1. If I write a message from a different QM in the cluster, for queue alpha, will it end up in the local DLQ, the local SCTQ, suspended DLQ, or alpha?
2. Same question with the suspension being mode(force).

Guesses:
1. I'm guessing that it will end up in local SCTQ.
2. I'm guessing that it will end up in local DLQ.

-mf
Back to top
View user's profile Send private message
mqjeff
PostPosted: Sun Feb 17, 2013 2:04 pm    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

I think you'll find that "there's only one copy of the queue in the cluster" means "messages have to be handled by that queue manager".

So I think the answer to both questions is "alpha".
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Sun Feb 17, 2013 4:57 pm    Post subject: Reply with quote

Grand High Poobah

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

mqjeff wrote:
I think you'll find that "there's only one copy of the queue in the cluster" means "messages have to be handled by that queue manager".

So I think the answer to both questions is "alpha".

Not quite. There is a subtle distinction as to the qmgr state.

The message will land in "alpha" for the regular suspend command
The message will stay on the corresponding CTQ (cluster Transmit Queue) if the suspend was with mode (force).
Mode force stops the CLUSRCVR channel.

Eventually, after the qmgr is resumed or the cluster receiver channel is started the message will be delivered to "alpha"

Have fun
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
bruce2359
PostPosted: Sun Feb 17, 2013 6:25 pm    Post subject: Reply with quote

Poobah

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

Suspend command asks qmgr clustering software to please stop using its queues as destinations for mqputs. Queues will continue to be destinations if there are no other available queue instances in the cluster.

The documented procedure is to put-inhibit the queues before suspending 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
PeterPotkay
PostPosted: Mon Feb 18, 2013 6:03 am    Post subject: Reply with quote

Poobah

Joined: 15 May 2001
Posts: 7717

bruce2359 wrote:
The documented procedure is to put-inhibit the queues before suspending the qmgr.




Where is this documented?
_________________
Peter Potkay
Keep Calm and MQ On
Back to top
View user's profile Send private message
bruce2359
PostPosted: Mon Feb 18, 2013 6:32 am    Post subject: Reply with quote

Poobah

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

Queue manager clusters manual.
_________________
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
mqjeff
PostPosted: Mon Feb 18, 2013 6:32 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

bruce2359 wrote:
Queue manager clusters manual.


There's no such thing.
Back to top
View user's profile Send private message
PeterPotkay
PostPosted: Mon Feb 18, 2013 6:42 am    Post subject: Reply with quote

Poobah

Joined: 15 May 2001
Posts: 7717

Post the link to the entry please where it says you should put inhibit queues before suspending a QM. I can't find it.
_________________
Peter Potkay
Keep Calm and MQ On
Back to top
View user's profile Send private message
bruce2359
PostPosted: Mon Feb 18, 2013 6:49 am    Post subject: Reply with quote

Poobah

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

I have a .pdf of the manual that doesn't exist. WebSphere MQ Queue Manager Clusters Version 7.0. SC34-6933-01. I know it's old, but it's on my thumb drive, and I'm way the heck out of town.

From the section entitled The cluster workload management algorithm:
Quote:
5. If only remote instances of a queue remain, resumed queue managers are chosen in preference to suspended ones.


From Maintaining a queue manager:

To suspend a queue manager, issue the SUSPEND QMGR command, for example:
Quote:
SUSPEND QMGR CLUSTER(SALES)

This sends a notification to the queue managers in the cluster SALES advising
them that this queue manager has been suspended. The purpose of the SUSPEND QMGR command is only to advise other queue managers to avoid sending messages to this queue manager if possible. It does not mean that the queue manager is disabled. While the queue manager is suspended the workload management routines avoid sending messages to it, other than messages that have to be handled by that queue manager. Messages that have to be handled by that queue manager include messages sent by the local queue manager.

_________________
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
mqjeff
PostPosted: Mon Feb 18, 2013 7:00 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

bruce2359 wrote:
I have a .pdf of the manual that doesn't exist. WebSphere MQ Queue Manager Clusters Version 7.0. SC34-6933-01. I know it's old, but it's on my thumb drive, and I'm way the heck out of town.

From the section entitled The cluster workload management algorithm:

http://pic.dhe.ibm.com/infocenter/wmqv7/v7r5/topic/com.ibm.mq.doc/qc10940_.htm

bruce2359 wrote:
From Maintaining a queue manager:

http://pic.dhe.ibm.com/infocenter/wmqv7/v7r5/topic/com.ibm.mq.doc/qc11300_.htm

The only apparent recommendation to put disable is if you are going to remove the queue from the cluster.

http://pic.dhe.ibm.com/infocenter/wmqv7/v7r5/topic/com.ibm.mq.doc/qc11580_.htm

It's certainly not a bad idea by any means to do this when you only want to suspend the queue.
Back to top
View user's profile Send private message
PeterPotkay
PostPosted: Mon Feb 18, 2013 7:14 am    Post subject: Reply with quote

Poobah

Joined: 15 May 2001
Posts: 7717

You can only suspend Queue Managers from a cluster, not individual queues.

If you suspend the QM with MODE(QUIESCE), you might still want messages to arrive to this queue or other queues on this QM, so Put Inhibiting them all as a matter of practice anytime you suspend the QM would be bad.

If you suspend the QM with MODE(FORCE), nothing is coming to this QM anyway, so there is no need to put inhibit the queues.

There are certainly valid reason to put inhibit queues in a cluster, but there is no need ore IBM recomendation to do that when suspending the queue manager itself.
_________________
Peter Potkay
Keep Calm and MQ On
Back to top
View user's profile Send private message
bruce2359
PostPosted: Mon Feb 18, 2013 7:20 am    Post subject: Reply with quote

Poobah

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

Suspending a qmgr does not stop messages from going to its queues.

Of the choices available, put-inhibiting or taking a queue out of the cluster are ones that stops messages from going to that queue.
_________________
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
mqjeff
PostPosted: Mon Feb 18, 2013 7:36 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

bruce2359 wrote:
Suspending a qmgr does not stop messages from going to its queues.

Of the choices available, put-inhibiting or taking a queue out of the cluster are ones that stops messages from going to that queue.


SUSPEND QM MODE(FORCE) apparently causes Cluster Receivers to STOP.

This "prevents" messages from being *delivered* to the suspended queue manager.

But it does not prevent them from being *sent* to the suspended queue manager.

There may be a very valid reason why you do not want messages that were created and addressed during the maintenance interval to be delayed until the end of the maintenance interval and then immediately delivered.

So you'd want to put-disable the receiver queue before suspending the queue manager.
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Mon Feb 18, 2013 8:03 am    Post subject: Reply with quote

Grand High Poobah

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

mqjeff wrote:
bruce2359 wrote:
Suspending a qmgr does not stop messages from going to its queues.

Of the choices available, put-inhibiting or taking a queue out of the cluster are ones that stops messages from going to that queue.


SUSPEND QM MODE(FORCE) apparently causes Cluster Receivers to STOP.

This "prevents" messages from being *delivered* to the suspended queue manager.

But it does not prevent them from being *sent* to the suspended queue manager.

There may be a very valid reason why you do not want messages that were created and addressed during the maintenance interval to be delayed until the end of the maintenance interval and then immediately delivered.

So you'd want to put-disable the receiver queue before suspending the queue manager.


Wrong inherent assumption here. If you do not want the messages to be delayed during the maintenance interval, the qmgr being suspended cannot be the only one hosting the queue and the processing application needs to get its messages from multiple qmgrs in the cluster.

So no need to put disable the queue as the fact that there is a non suspended qmgr in the cluster will mean that that is the one to get the messages.

You should only put-disable the queue for a maintenance interval if there is a chance that all of the other qmgrs hosting the queue may get suspended. In such a case, as all qmgrs hosting the queue are suspended, the algorithm will load balance between the suspended qmgrs where the queue is put-enabled.

Have fun
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
mattfarney
PostPosted: Mon Feb 18, 2013 8:05 pm    Post subject: Reply with quote

Disciple

Joined: 17 Jan 2006
Posts: 167
Location: Ohio

So let's say a message gets delayed in the SCTQ while the remote system is unavailable/suspended(force).

Is that message QMID aware?
Or is it just a normal transmission header with QM/QName?

Let's say QM Ohio is replaced with QM Ohio+.
Ohio+ is created in Ohio's image, but does have a new QMID.

When all of the cluster resolution issues are resolved, will the messages in the SCTQ for Ohio be delivered to Ohio+?

-mf
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 » Questions about delivery on a suspended qmgr
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.