Author |
Message
|
KIT_INC |
Posted: Wed Aug 09, 2017 12:20 pm Post subject: Anyway to stop qload or dmpmqmsg from looping ? |
|
|
Knight
Joined: 25 Aug 2006 Posts: 589
|
I am using MQ V9 on Linux. I am using dmpmqmsg to move message from Q1 to Q2. Messages are coming in 1 or 2 per second. I cannot loose message, so I use transaction to handle 1 message at a time with a wait time of 15 seconds.
dmpmqmsg -m QM1 -I Q1 -o Q2 -w15 -t 1
When dmpmqmsg has problem outputting the message to Q2 , it roll back the message as expected. But then it goes into a loop because the roll back message will be picked up and roll back again. This is the typical case of poison message and I understand that the application should handle it using Bo threshold and backout requeue Q.
It does not seem that dmpmqmsg or qload has that capability. I may not have read through all the qload or dmpmqmsg parameters. I just want to confirm that I have not miss anything. Does anyone has experience on handling this using programs other than qload or dmpmqmsg. I am looking for some free program that I can use. |
|
Back to top |
|
 |
PaulClarke |
Posted: Wed Aug 09, 2017 1:26 pm Post subject: |
|
|
 Grand Master
Joined: 17 Nov 2005 Posts: 1002 Location: New Zealand
|
What do you mean it keeps looping ?
If QLOAD fails to put a message to the target queue I would expect the message to be rolled back and program to end.
QLOAD does not have BO queue processing in it. Frankly I didn't think it necessary. BO processing is, as you point out, for poison messages. Since QLOAD doesn't actually process a message but just puts it to the target queue, there is not much scope for the application failing because of the content of the message.
If you really need this I could, of course, add BO semantics to our QLOAD product however, it is not free. Very good value....but not free
Cheers,
Paul _________________ Paul Clarke
MQGem Software
www.mqgem.com |
|
Back to top |
|
 |
KIT_INC |
Posted: Thu Aug 10, 2017 4:26 am Post subject: |
|
|
Knight
Joined: 25 Aug 2006 Posts: 589
|
Quote: |
If QLOAD fails to put a message to the target queue I would expect the message to be rolled back and program to end.
|
Thanks Paul for pointing this out. I think dmpmqmsg should behave the same too. I'll investigate more. |
|
Back to top |
|
 |
KIT_INC |
Posted: Thu Aug 10, 2017 6:08 am Post subject: |
|
|
Knight
Joined: 25 Aug 2006 Posts: 589
|
The dmpmqmsg program is ran by a shell script. I have set up Q1 to trigger on first to start the shell script. I turned on some diagnostic logging and confirmed that the dmpmqmsg actual failed with the PUT inhibited error on Q2. But the trigger monitor start it again. So the symptom is looping. I have to figure out a way to stop this. Any suggestion ? |
|
Back to top |
|
 |
zpat |
Posted: Thu Aug 10, 2017 6:14 am Post subject: |
|
|
 Jedi Council
Joined: 19 May 2001 Posts: 5866 Location: UK
|
Add a delay (sleep) to the script to stop a tight loop for one thing. _________________ Well, I don't think there is any question about it. It can only be attributable to human error. This sort of thing has cropped up before, and it has always been due to human error. |
|
Back to top |
|
 |
PaulClarke |
Posted: Thu Aug 10, 2017 11:02 am Post subject: |
|
|
 Grand Master
Joined: 17 Nov 2005 Posts: 1002 Location: New Zealand
|
What do you mean by "figure a way to stop this" ? What behaviour do you want ? _________________ Paul Clarke
MQGem Software
www.mqgem.com |
|
Back to top |
|
 |
fjb_saper |
Posted: Fri Aug 11, 2017 4:56 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
KIT_INC wrote: |
The dmpmqmsg program is ran by a shell script. I have set up Q1 to trigger on first to start the shell script. I turned on some diagnostic logging and confirmed that the dmpmqmsg actual failed with the PUT inhibited error on Q2. But the trigger monitor start it again. So the symptom is looping. I have to figure out a way to stop this. Any suggestion ? |
If the target is put inhibited, send an alert (email, pager), disable the trigger (avoid looping) and exit gracefully...  _________________ MQ & Broker admin |
|
Back to top |
|
 |
|