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 » IBM MQ API Support » Truncated Messages and the Backout Count

Post new topic  Reply to topic Goto page Previous  1, 2
 Truncated Messages and the Backout Count « View previous topic :: View next topic » 
Author Message
PeterPotkay
PostPosted: Mon Aug 05, 2002 7:26 pm    Post subject: Reply with quote

Poobah

Joined: 15 May 2001
Posts: 7722

One way this can happen is if the application that gets triggered never opens the queue. It blew up before the MQOPEN for whatever reason.
Now we have 1 message on the queue and no MQCLOSE happening to force another trigger. As more message land, no more triggers, since the queue depth is not going from 0 to 1. The trigger interval save us in this spot, assuming the reason for the app blowing up before the MQOPEN was temprorary.

Or,
On the mainframe, say your app abends after retrieving the message. Somehow a few bad messages got on your queue. Your poisened message logic removes them after a couple of GETS cause the backout count exceeded your threshhold. Each time the message gets rolled back, the app is retriggered because of the MQCLOSE. Eventually you clear out the 2 or 3 bad messages to the exception queue, but in the meantime you abended so many times that your TCODE gets brought down. Now the trigger monitor can't start the app, but more (good) message keep landing on the queue. Again we have a situation where the queue is closed , the depth is going from 0+n to 0+n+1, and no trigger messages are being generated. The TCODE is restarted. If the trigger interval passes, the app will now automaticaly start up again.

The init queue can be full, in which case the trigger message go to the DLQ. Again as more message land on that closed triggered on first queue, no more trigger messages get generated, even as the init queue's depth came down.



There were a couple more situations that I came across a while back, but they escape me now. By the way, the trigger interval only applies to Trigger First queues, and since it is set at the QM level, you have to pick a value that keeps all your applications happy. (We chose 5 minutes (300000)).
_________________
Peter Potkay
Keep Calm and MQ On
Back to top
View user's profile Send private message
bduncan
PostPosted: Mon Aug 05, 2002 8:55 pm    Post subject: Reply with quote

Padawan

Joined: 11 Apr 2001
Posts: 1554
Location: Silicon Valley

Thanks for the well illustrated examples. I was under the impression that the trigger interval was more of a catch-all, rather than only for these, shall we say, relatively rarer situations. I suppose it makes more sense that the trigger refires immediately on the MQCLOSE anyway, now that I think about it. It's just I'd had plenty of situations in the past where I ended up with queues filling up because the trigger wouldn't refire. Of course, being in the past it's hard to remember all the details of why the trigger didn't refire - so who knows... But it looks like your tests have put everything to rest
_________________
Brandon Duncan
IBM Certified MQSeries Specialist
MQSeries.net forum moderator
Back to top
View user's profile Send private message Visit poster's website AIM Address
nimconsult
PostPosted: Mon Aug 05, 2002 10:00 pm    Post subject: Reply with quote

Master

Joined: 22 May 2002
Posts: 268
Location: NIMCONSULT - Belgium

By the way just for information:

You can allocate dynamic storage if you run under CICS by simply using EXEC CICS GETMAIN and assign the result to a char variable of your COBOL LINKAGE SECTION.

If you run under language environment you can also call CEEGTST (if I remember well, that was 3 years ago), making your code CICS-independent (the same function works both under CICS and batch environments)

(Yeah I know we are in MQ Forum, not Cobol forum )
_________________
Nicolas Maréchal
Senior Architect - Partner

NIMCONSULT Software Architecture Services (Belgium)
http://www.nimconsult.be
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 Goto page Previous  1, 2 Page 2 of 2

MQSeries.net Forum Index » IBM MQ API Support » Truncated Messages and the Backout Count
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.