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 » Application message segmentation in a clustered environment

Post new topic  Reply to topic
 Application message segmentation in a clustered environment « View previous topic :: View next topic » 
Author Message
tminifie
PostPosted: Thu Oct 30, 2008 8:02 am    Post subject: Application message segmentation in a clustered environment Reply with quote

Apprentice

Joined: 18 Jan 2007
Posts: 26

Hi

I'm investigating a bug in our system that appears to be due our application incorrectly handling a segmented message in our clustered environment. We are using MQ 6.0.

Our application is setting the Target Queue Mangager name when binding on open(MQOO_BIND_ON_OPEN) to send a segmented message. The target queue in this case happens to reside on another Queue Manager in the cluster, not the Queue Manager that is being targeted. So we get an MQ 2085 error.

Most of the queues in our cluster have multiple instances meaning they exist on all Queue Mangers in the cluster so this bug is rare. However, that being said is it neccessary to specify the "Target Queue Manager"?

I'm guessing if we didn't then MQ would have found the correct Target Queue Manger in the cluster for us...I've read the following MQ Cluster documentation but am still unsure:

Quote:
MQOPEN An option on the MQOPEN call, the MQOO_BIND_ON_OPEN option, allows you to specify that, when there are multiple instances of the same queue within a cluster, the target queue manager needs to be fixed. That is, all messages put to the queue specifying the object handle returned from the MQOPEN call must be directed to the same queue manager using the same route.
Back to top
View user's profile Send private message
bruce2359
PostPosted: Thu Oct 30, 2008 8:28 am    Post subject: Reply with quote

Poobah

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

Quote:
Our application is setting the Target Queue Mangager name

How is your application doing this? By specifying the qmgr name in the MQOD? If so, don't. Specify only the queue name. Let the qmgr resolve qmname.
_________________
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
Vitor
PostPosted: Thu Oct 30, 2008 8:31 am    Post subject: Reply with quote

Grand High Poobah

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

If there are multiple instances of a queue in a cluster, bind on open will select one of them (according to workload distribution) and send all messages to that. You wouldn't typically specify the target yourself?

Why are you specifying a target qm in a cluster? What is the design requirement here that prevents you using the cluster facilities? Or is there no requirement aside from the application developer knowing more about clustering?
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
tminifie
PostPosted: Thu Oct 30, 2008 9:12 am    Post subject: Reply with quote

Apprentice

Joined: 18 Jan 2007
Posts: 26

Yes we are specifying the Queue Manager Name in the MQOD, see below

Quote:
MQOD od = {MQOD_DEFAULT};

memset(od.ObjectQMgrName, ' ', MQ_Q_NAME_LENGTH);
strncpy(od.ObjectQMgrName, getenv("CBQMGR"), MQ_Q_NAME_LENGTH);


and

I don't believe there is a requirement, as Victor stated I think it was a lack of clustering knowledge by the application developer.

I will remove the code snippet above and let MQ resolve the Queue Manger name.

Thanks very much fellows!
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 » Application message segmentation in a clustered environment
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.