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 » Msg segmentation with clustering(2 instances of the same Q)

Post new topic  Reply to topic
 Msg segmentation with clustering(2 instances of the same Q) « View previous topic :: View next topic » 
Author Message
Sam Uppu
PostPosted: Mon Jan 05, 2009 9:08 am    Post subject: Msg segmentation with clustering(2 instances of the same Q) Reply with quote

Yatiri

Joined: 11 Nov 2008
Posts: 610

Hi Guys,
We are on MQ version 6 and on SunOS.

We have a requirement like this:

Tha application needs to prcess huge messages in batches and they are dependable.

As the app is trying to send batch files, we are recomending the app to go with segmentation.

We have 3 QMgrs QM1, QM2 and QM3 which are defined on different servers are in a cluster called CLUS1.

The destination queue is a cluster queue, CLUSTERQ which is defined on both QM2 and QM3.

The source app is connecting to QM1 and trying to put msgs to the cluster queue, CLUSTERQ. The destination application also has two instances on servers where QM2 and QM3 are defined.

Now the Question:
As the cluster queue, CLUSTERQ is defined on both QM2 and QM3, the msgs will be round robined between QM2 and QM3. That is not supported by destination application as they are dependable. I have seen some posts saying that Queue open options to use DEFBIND_OPEN. Then how the round robin is going to function?.

Please throw some light on this.

Thanks.
Back to top
View user's profile Send private message
Vitor
PostPosted: Mon Jan 05, 2009 9:35 am    Post subject: Re: Msg segmentation with clustering(2 instances of the same Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

Sam Uppu wrote:
As the cluster queue, CLUSTERQ is defined on both QM2 and QM3, the msgs will be round robined between QM2 and QM3. That is not supported by destination application as they are dependable. I have seen some posts saying that Queue open options to use DEFBIND_OPEN. Then how the round robin is going to function?.


I think that by "dependable" you mean "dependant", i.e. the processing of a given message is influenced by the contents of the previous one.

On that basis you must use BIND_ON_OPEN; note that DEFBIND is only a default and the application could override it. You'd be safer to explicitly set it in the application.

As to the round robin, BIND_ON_OPEN eliminates it. But given that you have message dependancy, you couldn't use it anyway because you can't balance workload (in a design level)
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
Sam Uppu
PostPosted: Mon Jan 05, 2009 10:41 am    Post subject: Re: Msg segmentation with clustering(2 instances of the same Reply with quote

Yatiri

Joined: 11 Nov 2008
Posts: 610

Vitor wrote:
Sam Uppu wrote:
As the cluster queue, CLUSTERQ is defined on both QM2 and QM3, the msgs will be round robined between QM2 and QM3. That is not supported by destination application as they are dependable. I have seen some posts saying that Queue open options to use DEFBIND_OPEN. Then how the round robin is going to function?.


I think that by "dependable" you mean "dependant", i.e. the processing of a given message is influenced by the contents of the previous one.

On that basis you must use BIND_ON_OPEN; note that DEFBIND is only a default and the application could override it. You'd be safer to explicitly set it in the application.

As to the round robin, BIND_ON_OPEN eliminates it. But given that you have message dependancy, you couldn't use it anyway because you can't balance workload (in a design level)


Vitor, Thanks for your suggestions.

We can ask the app team to use BIND_ON_OPEN sothat the unit of work will goto 1 single queue(CLUSTERQ) either on QM2 or QM3.

Question:
Lets say a batch is processing on QM2(CLUSTERQ) and if there is another batch file which is in queue(the next msg in the queue) will it goto the CLUSTERQ on QM1 or will it wait for CLUSTERQ on QM2?.
Back to top
View user's profile Send private message
Vitor
PostPosted: Mon Jan 05, 2009 11:09 am    Post subject: Re: Msg segmentation with clustering(2 instances of the same Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

Sam Uppu wrote:
Lets say a batch is processing on QM2(CLUSTERQ) and if there is another batch file which is in queue(the next msg in the queue) will it goto the CLUSTERQ on QM1 or will it wait for CLUSTERQ on QM2?.



If the putting application is using bind on open all messages will go to the same queue (whichever that one happens to be) until the queue is closed.

In the original scenario you posted, there wasn't a CLUSTERQ on QM1. Note that even under v6, messages put to a cluster queue will always go to a local copy if one exists unless you change the setting to prevent this.

To answer your question, the putting application has no knowledge of what's happening on the receiving queues, so no message being put will wait for anything.

Was that actually the question you're asking?
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
Sam Uppu
PostPosted: Mon Jan 05, 2009 11:37 am    Post subject: Re: Msg segmentation with clustering(2 instances of the same Reply with quote

Yatiri

Joined: 11 Nov 2008
Posts: 610

Vitor wrote:
Sam Uppu wrote:
Lets say a batch is processing on QM2(CLUSTERQ) and if there is another batch file which is in queue(the next msg in the queue) will it goto the CLUSTERQ on QM1 or will it wait for CLUSTERQ on QM2?.



If the putting application is using bind on open all messages will go to the same queue (whichever that one happens to be) until the queue is closed.

In the original scenario you posted, there wasn't a CLUSTERQ on QM1. Note that even under v6, messages put to a cluster queue will always go to a local copy if one exists unless you change the setting to prevent this.

To answer your question, the putting application has no knowledge of what's happening on the receiving queues, so no message being put will wait for anything.

Was that actually the question you're asking?


Sorry. my question was
Lets say a batch is processing on QM2(CLUSTERQ is opened) and if there is another batch file which is in queue(the next msg in the queue) will it goto the CLUSTERQ on QM3 or will it proceed with CLUSTERQ on QM2 as it is still OPENed with the first batch?.

Thanks.
Back to top
View user's profile Send private message
Vitor
PostPosted: Mon Jan 05, 2009 11:50 am    Post subject: Re: Msg segmentation with clustering(2 instances of the same Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

Sam Uppu wrote:
Lets say a batch is processing on QM2(CLUSTERQ is opened) and if there is another batch file which is in queue(the next msg in the queue) will it goto the CLUSTERQ on QM3 or will it proceed with CLUSTERQ on QM2 as it is still OPENed with the first batch?.


So, just to be clear, an application is processing a batch file from an input queue. It opens the output queue with BIND_ON_OPEN and messages flow to the output queue CLUSTERQ on QM2.

If this scenario is correct, then when the next message arrives on the input queue output messages will still go to QM2 because the open handle remains. If the application closes the output queue and reopens it (again with BIND_ON_OPEN), the output messages may or may not go to QM2; each open is handled by the cluster on it's own merits.

Hope that answers your question.

If you want to be certain that one input message goes to QM2, the next to QM3, and so forth, you'd need something in the opening application that specifies the target queue manager and (by implication) holds a status of which queue manager is to be used.

That's going to be a real pain. Really, really, messy.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
Sam Uppu
PostPosted: Tue Jan 06, 2009 6:48 am    Post subject: Re: Msg segmentation with clustering(2 instances of the same Reply with quote

Yatiri

Joined: 11 Nov 2008
Posts: 610

Vitor wrote:
Sam Uppu wrote:
Lets say a batch is processing on QM2(CLUSTERQ is opened) and if there is another batch file which is in queue(the next msg in the queue) will it goto the CLUSTERQ on QM3 or will it proceed with CLUSTERQ on QM2 as it is still OPENed with the first batch?.


So, just to be clear, an application is processing a batch file from an input queue. It opens the output queue with BIND_ON_OPEN and messages flow to the output queue CLUSTERQ on QM2.

If this scenario is correct, then when the next message arrives on the input queue output messages will still go to QM2 because the open handle remains. If the application closes the output queue and reopens it (again with BIND_ON_OPEN), the output messages may or may not go to QM2; each open is handled by the cluster on it's own merits.

Hope that answers your question.

If you want to be certain that one input message goes to QM2, the next to QM3, and so forth, you'd need something in the opening application that specifies the target queue manager and (by implication) holds a status of which queue manager is to be used.

That's going to be a real pain. Really, really, messy.


Thanks Vitor. You answered my question.
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 » Msg segmentation with clustering(2 instances of the same Q)
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.