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 » where is that message????

Post new topic  Reply to topic
 where is that message???? « View previous topic :: View next topic » 
Author Message
mqdev
PostPosted: Mon Mar 10, 2003 3:28 pm    Post subject: where is that message???? Reply with quote

Centurion

Joined: 21 Jan 2003
Posts: 136

I am facing a strange cluster queue behaviour:

My environment: Cluster M defined as containing QM1 and QM2 as full repos. QM1 and QM2 are running on differenct boxes. To being with, both QM1 and QM2 host an instance of cluster queue CQ. The OS platform is AIX v5.1 running MQ v5.3.0.1

Problem: An app connecting to QM1 when it puts (actually MQPUT1) to CQ successfully puts to CQ on QM1 all the time (all time since in a Cluster local instance of cluster Q is always PUTed to). Now the cluster queue instance CQ from QM1 is deleted. If the same app now puts a msg like before, the put is successfull (as verified from the return code of the MQPUT1 command) but the message itself vanishes! I am expecting this msg to show up on CQ on QM2 - but it doesnt happen!. Checked Cluster XMIT queues on both machines ( QM1 machine and QM2 machine) nothing waiting to be delivered. Tried all operations - cluster refresh, stop/start of both QM1 and QM2. If I recreate the instance of CQ on QM1, the app is able to sucessfully put the msg and am also able to see the msg on the local instance of CQ on QM1. So the Question is whats happening to the msg when the local cluster queue instance is deleted? I have also tried doing the MQPUT1 under SYNCPOINT - CMIT - still with the same result (no msg on CQ on QM2 while the PUT1 itself is successfull and commited). Any ideas?
Back to top
View user's profile Send private message
mqonnet
PostPosted: Tue Mar 11, 2003 6:02 am    Post subject: Reply with quote

Grand Master

Joined: 18 Feb 2002
Posts: 1114
Location: Boston, Ma, Usa.

Not sure what could be going wrong. But here are few of my suggestions.

1) Make the messages Persistent, if they are already not so. That way you are sure that messages are reaching somewhere. Or if they are not put to the destination queue on QM2, the channels would come down and an error message be logged to the mqerrlog.
2) Not sure again, if you have defined dead letter queues for both qms. If not, do so.
3) When you do a "display qcluster(*)", do you see this queue from both Qm1 and Qm2.
4) Are your channels up and running, clussdr/clusrcvr.
5) What open options are you specifying on your Open. If you want the messages to go to the other queue in the event of QM1 queue not present, you have to use MQOO_BIND_NOT_FIXED.

Hope this helps.

Cheers
Kumar
_________________
IBM Certified WebSphere MQ V5.3 Developer
IBM Certified WebSphere MQ V5.3 Solution Designer
IBM Certified WebSphere MQ V5.3 System Administrator
Back to top
View user's profile Send private message Send e-mail Visit poster's website
mqdev
PostPosted: Tue Mar 11, 2003 6:43 am    Post subject: Reply with quote

Centurion

Joined: 21 Jan 2003
Posts: 136

Hello Kumar,
Thanks for your suggestions. Here are the results:
1. I will try making the msgs persistent - but in actual prod env, we cannot have persistent msgs (an architectral decision) so even if it works with persistent msgs, I still need to get it to work without persistentce
2. DLQs are defined on both QMs
3. When I do a dis qcluster(*), I do see both instances of CQ (distinguished by the QMgr name) listed. When I delete the CQ on QM1, again I see the CQ on QM2 listed correctly. So repos info seems to be current all the time.
4. Channels clussdr/clusrcvr are RUNNING too
5. I have default put options. Per MQ literature, for MQPUT1, when putting to cluster queue, the default option is BIND_NOT_FIXED (Ref: MQPUT1 Usage Notes, Item #4)

Prolly it will work if I blowup the whole cluster and recreate it - but am wanting to know why its failing now as it could happen again when we go live- would like to be prepared! Any other leads will be appreciated.

Thanks
mqdev
Back to top
View user's profile Send private message
mqonnet
PostPosted: Tue Mar 11, 2003 6:52 am    Post subject: Reply with quote

Grand Master

Joined: 18 Feb 2002
Posts: 1114
Location: Boston, Ma, Usa.

1) So you mean nothing made it up to the DLQ.
2) If you are running this test in a dev env, then i would suggest the following.
a) Stop the clussdr channels manually on both ends and run your test and check if the messages made it to the local cluster xmitq at least.
b) Check to see if they landed to the local dlq.
c) Check also the error logs to see if there is something out there.

3) Delete the queue instance on QM1. Restart your clussdr channels and then issue a refresh cluster on both qms. This way i think the cache info should be updated. Now see if you get the queue instance of QM2 on both qms using dis qcluster.
4) To get around this faster, you can always make the messages persistent. Again if this is your dev env. Because this way you can get to the root cause of the problem, or at least come closer to it.

Cheers
Kumar
_________________
IBM Certified WebSphere MQ V5.3 Developer
IBM Certified WebSphere MQ V5.3 Solution Designer
IBM Certified WebSphere MQ V5.3 System Administrator
Back to top
View user's profile Send private message Send e-mail Visit poster's website
mqdev
PostPosted: Tue Mar 11, 2003 10:00 am    Post subject: Solved.... Reply with quote

Centurion

Joined: 21 Jan 2003
Posts: 136

Hello Kumar,
Thanks to your pointer - the msgs were getting onto DLQ on QM1. The reson was that the MAXMSGL was set to 4k (our max msg length) and we forgot to take into consideration the MQ msg headers! Changeing and restarting the channels did the trick.

-mqdev
Back to top
View user's profile Send private message
mqonnet
PostPosted: Tue Mar 11, 2003 10:37 am    Post subject: Reply with quote

Grand Master

Joined: 18 Feb 2002
Posts: 1114
Location: Boston, Ma, Usa.

Glad that it worked.
DLQ is always one of the better means of finding out errors like this and hence you got to establish or try to, a scenario that forces the messages to DLQ in the event of a problem determination. This way you can easily figure out what went wrong.

Cheers
Kumar
_________________
IBM Certified WebSphere MQ V5.3 Developer
IBM Certified WebSphere MQ V5.3 Solution Designer
IBM Certified WebSphere MQ V5.3 System Administrator
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » Clustering » where is that message????
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.