Author |
Message
|
cots |
Posted: Mon Mar 15, 2004 1:52 pm Post subject: Message lost |
|
|
Centurion
Joined: 16 Jun 2003 Posts: 105
|
Hi All
I have four queue manager. and all of them is in a mq cluster environment
qm-1 full repository
qm-2 partial
qm-3 full repository
qm-4 patial
qm-2 and qm-3 has a cluster queue called LQ_2_3 with persistent as default persistence option
I also set persist as default persistence in system.cluster.transmit.queue in qm-4 queue manager
when I stopped qm-1, qm-2 and mq-3 and use amqsput to put message from qm-4 (e.g. amqsput LQ_2_3 qm-4)
here is the problem.
some message goes into system.cluster.transmit.queue and some got lost and always the message that was lost are the first two and three messages at the begining of the amqsput application.
pls help if you have any suggestion or idea
Thanks in advance |
|
Back to top |
|
 |
Michael Dag |
Posted: Mon Mar 15, 2004 1:55 pm Post subject: |
|
|
 Jedi Knight
Joined: 13 Jun 2002 Posts: 2607 Location: The Netherlands (Amsterdam)
|
what are the return codes of the amqsput?
are the messages actually put succesfully? _________________ Michael
MQSystems Facebook page |
|
Back to top |
|
 |
cots |
Posted: Mon Mar 15, 2004 2:10 pm Post subject: |
|
|
Centurion
Joined: 16 Jun 2003 Posts: 105
|
Hi Michael,
Thank you for the response.
There is no return codes on amqsput, and looks like the messages are actually put succesfully, I also check the error log and event viewer, and no error show up anywhere (BTW, all this QM is on windows, and my MQSeires version is 5.3, csd05) |
|
Back to top |
|
 |
vennela |
Posted: Mon Mar 15, 2004 3:17 pm Post subject: |
|
|
 Jedi Knight
Joined: 11 Aug 2002 Posts: 4055 Location: Hyderabad, India
|
This is not an answer. But if somebody can provide the veracity of the statement below from this post:
http://www.mqseries.net/phpBB2/viewtopic.php?t=7084&highlight=first+message
Quote: |
When MQPut already resolved the remote qmgr name for the first message, the qmgr itself is not available.
The message in this case stays in cluster xmitQ until the first qmgr is available again.
|
|
|
Back to top |
|
 |
JasonE |
Posted: Tue Mar 16, 2004 2:27 am Post subject: |
|
|
Grand Master
Joined: 03 Nov 2003 Posts: 1220 Location: Hursley
|
What fixpack level? There were some changes to ensure that if the destination was unavailable then the first message doesnt get held in a unit of work (eg. http://www-1.ibm.com/support/search.wss?apar=include&q=IC36185) - Try 5.3 fp 5 or 6
I'm not convinced the message gets 'lost' in your case, more likely it is hung on the transmit queue waiting for the channel to start, at which point it really does flow. |
|
Back to top |
|
 |
JasonE |
Posted: Tue Mar 16, 2004 10:27 am Post subject: |
|
|
Grand Master
Joined: 03 Nov 2003 Posts: 1220 Location: Hursley
|
D'oh... you said fp5 (Thanks Andy!). Not sure then...
Does the message appear when you do restart the qmgrs (on the restarted qmgr)? When lost, If you browse the cluster transmit queue, is the message sat on there (whats the curdepth)?
I'd also ensure all qmgrs have dead letter q;s defined, and check those in case it was put there for some reason |
|
Back to top |
|
 |
offshore |
Posted: Wed Mar 17, 2004 4:01 am Post subject: |
|
|
 Master
Joined: 20 Jun 2002 Posts: 222
|
vaNewbie,
I have a question on how you are "testing". <And I might be way off base here, but...>
I use the amqsput utility alot.
I've noticed that if none of the full repositories are up and I try to do a put to a queue that is hosted on a full repos using amqsput that I get a 2085.
What I'm wondering is if you are taking the QMGRs down in sequence. For example on QM4 you are continually putting messages, then you take QM1 down, then QM2, then QM3.
Could is be that even though QM2 is down, the message will then get rerouted to QM3 and when the QM3 is issued shut down it will finish any work that it has to complete. Also, that QM3 may have accepted 1 or 3 messages that you don't think it should've accepted that it actually did?
I've been doing something similar to what you are describing but without Q_Alias and going to 2 z/OS qmgrs from a windows partial repos qmgr.
As a side note something I found in the WebSphere MQ in a z/OS Parallel Sysplex Environment redbook:
If a message is on the SYSTEM.CLUSTER.TRANSMIT.QUEUE destined for a particular queue manager, and that queue manager or the channel to that queue manager fails, the queu manager will call the workload management (or default) exit again to reroute the message to another target queue manager hosting that queue. The only time this will not occur is if the application has decided to override the workload distribution because of an affinity with a particular queue manager. In this case, the message will wait on the SYSTEM.CLUSTER.TRANSMIT.QUEUE until the queue manager is available again. In-doubt message are not rerouted either.
Also for this to work the queue(s) have to be set to DEFBIND(NOTFIXED). |
|
Back to top |
|
 |
|