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 » General Discussion » DEad letter Queue is full?

Post new topic  Reply to topic Goto page 1, 2  Next
 DEad letter Queue is full? « View previous topic :: View next topic » 
Author Message
arekatla@gmail.com
PostPosted: Mon Jan 16, 2006 11:17 pm    Post subject: DEad letter Queue is full? Reply with quote

Newbie

Joined: 23 Aug 2005
Posts: 7

HI
I'm using websphere MQ in our proj. we have dead letter queues too.
what could be done when a DLQ is full?
I heard there are MQ triggers which will read messages from DLQ when it got full, if so how to implement this mechanism?
Can any one suggest best solution?

Thanks
Ramesh
Back to top
View user's profile Send private message Yahoo Messenger
sebastianhirt
PostPosted: Tue Jan 17, 2006 12:20 am    Post subject: Reply with quote

Yatiri

Joined: 07 Jun 2004
Posts: 620
Location: Germany

Look for runmqdlq or Dead Letter Handler in the System Administration Guide. If you have done so and still have questions, feel free to ask them here.

cheers
Sebastian
Back to top
View user's profile Send private message
arekatla@gmail.com
PostPosted: Tue Jan 17, 2006 1:32 am    Post subject: Reply with quote

Newbie

Joined: 23 Aug 2005
Posts: 7

what is best mechanism to handle the situation like when DLQ is full?
at present when DLQ is full, our application going to loop.
Back to top
View user's profile Send private message Yahoo Messenger
wschutz
PostPosted: Tue Jan 17, 2006 4:01 am    Post subject: Reply with quote

Jedi Knight

Joined: 02 Jun 2005
Posts: 3316
Location: IBM (retired)

arekatla@gmail.com wrote:
what is best mechanism to handle the situation like when DLQ is full?
See the previous post by Sebastian...
arekatla@gmail.com wrote:
at present when DLQ is full, our application going to loop.
Why? Is your program writing directly to the DLQ (bad). In ay case, there is no reason why the program should loop.
_________________
-wayne
Back to top
View user's profile Send private message Send e-mail AIM Address
mvic
PostPosted: Tue Jan 17, 2006 4:36 am    Post subject: Reply with quote

Jedi

Joined: 09 Mar 2004
Posts: 2080

wschutz wrote:
arekatla@gmail.com wrote:
at present when DLQ is full, our application going to loop.
Why? Is your program writing directly to the DLQ (bad). In ay case, there is no reason why the program should loop.


The MQ manuals imply that an app writing to the DLQ is OK.

http://publib.boulder.ibm.com/infocenter/wmqv6/v6r0/topic/com.ibm.mq.csqzal.doc/csq033f.htm

But this implies that there is a good DLQ handler running, fast enough to handle any arrivals there.

It's obviously the case that the app logic should be correct. If the DLQ has got full (a very bad condition!!) then the app probably has to stop... But it really depends on what the application as a whole is doing with those messages. Do they really need to be put on the DLQ? Can an application-specific "failed" queue be used instead?
Back to top
View user's profile Send private message
arekatla@gmail.com
PostPosted: Tue Jan 17, 2006 5:00 am    Post subject: Reply with quote

Newbie

Joined: 23 Aug 2005
Posts: 7

when there is problem in processing , I'm posting the messges to DLQ. en messge volume is high and if any problem in application then DLQ is getting full. Then application going to loop. admn also Unable to take acton with in time. so I want any mechanism to clear or read messges from dlq when it is about to full.
Back to top
View user's profile Send private message Yahoo Messenger
raja_no_1
PostPosted: Tue Jan 17, 2006 5:12 am    Post subject: Reply with quote

Apprentice

Joined: 05 Sep 2005
Posts: 34

One of the ways to handle messages on the DEAD letter queue is to run the Dead Letter Handler. Normally the handler tries to submit messages in the DLQ to intended the Queue based on the settings of a config file.
Back to top
View user's profile Send private message
xxx
PostPosted: Tue Jan 17, 2006 6:19 am    Post subject: Reply with quote

Centurion

Joined: 13 Oct 2003
Posts: 137

Application fails to put a message to queue , then your MQ admin should figure out the reason for failure .

I guess you are putting messages from a remote server and if the Queue is full the messages are ending in Dead letter queue,
There can be other situations also,

Any ways if the messages are ending in DLQ , it is the MQ admin responsibilty to check why the messages are landing in that Queue and work in timely fashion to resolve the issue


As already stated , you can run the runmqdlq handler with rules to direct the messages back or to some other backup queue
Back to top
View user's profile Send private message
xxx
PostPosted: Tue Jan 17, 2006 6:24 am    Post subject: Reply with quote

Centurion

Joined: 13 Oct 2003
Posts: 137

messge volume is high and if any problem in application then DLQ is getting full.


Increase the depth of the Queue to handle volume, Use Multi threated application or start two process to pull the the messages,

You can also put alerts on Queue so that if certain depth is hit , ADMIN or the application owner is paged to restart the job or look into the issue

MQ is just a bucket ! It is the responsiblity of Application Programmer to handle the volume solution ,
Back to top
View user's profile Send private message
wschutz
PostPosted: Tue Jan 17, 2006 6:46 am    Post subject: Reply with quote

Jedi Knight

Joined: 02 Jun 2005
Posts: 3316
Location: IBM (retired)

mvic wrote:
wschutz wrote:
arekatla@gmail.com wrote:
at present when DLQ is full, our application going to loop.
Why? Is your program writing directly to the DLQ (bad). In ay case, there is no reason why the program should loop.


The MQ manuals imply that an app writing to the DLQ is OK.

http://publib.boulder.ibm.com/infocenter/wmqv6/v6r0/topic/com.ibm.mq.csqzal.doc/csq033f.htm

The case we're seeing here is a reason why I think its a bad idea for applications to write to the system dead-letter-queue. (of course its technically possible).

For me, it makes sense to have an application specific dead-letter-queue and not contanimate the system one with application messages. This provides better isolation, allowing application areas to control the re-processing of messages seperate from the system defined rules, prevent "filling-up" the system DLQ and so on.
_________________
-wayne
Back to top
View user's profile Send private message Send e-mail AIM Address
mvic
PostPosted: Tue Jan 17, 2006 7:25 am    Post subject: Reply with quote

Jedi

Joined: 09 Mar 2004
Posts: 2080

Quote:
The case we're seeing here is a reason why I think its a bad idea for applications to write to the system dead-letter-queue.


I agree, in general.

Developers should ideally choose to use a private DLQ, not the qmgr's DLQ. But for an admin taking on an existing system that uses this scheme, the imperative is to have a good (and fast) DLQ handler program.

I don't know at what stage in the development lifecycle Ramesh is, currently.
Back to top
View user's profile Send private message
Tibor
PostPosted: Tue Jan 17, 2006 7:59 am    Post subject: Reply with quote

Grand Master

Joined: 20 May 2001
Posts: 1033
Location: Hungary

mvic wrote:
...I agree, in general.

Developers should ideally choose to use a private DLQ, not the qmgr's DLQ.


But anyway, I recommend you to add a standard Dead-Letter-Header (DLH) for those bad/poisoned/etc messages!

Tibor
Back to top
View user's profile Send private message
arekatla@gmail.com
PostPosted: Tue Jan 17, 2006 10:28 pm    Post subject: Reply with quote

Newbie

Joined: 23 Aug 2005
Posts: 7

My application depends on another server too, if that server is down then my application tries for 3 times to process the messge , even if the sever is not available then I'm messages are landing into DLQ. in this situation the messages volunme is high then DLQ is getting full.

how to generate alerts on MQ? Can you post links?
Back to top
View user's profile Send private message Yahoo Messenger
jefflowrey
PostPosted: Wed Jan 18, 2006 4:22 am    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

Don't put them in the DLQ if the other server is down.

Put them in a backout queue.

There's a whole manual devoted to mechanisms for Monitoring WebSphere MQ.
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
bower5932
PostPosted: Wed Jan 18, 2006 9:01 am    Post subject: Reply with quote

Jedi Knight

Joined: 27 Aug 2001
Posts: 3023
Location: Dallas, TX, USA

arekatla@gmail.com wrote:
My application depends on another server too, if that server is down then my application tries for 3 times to process the messge , even if the sever is not available then I'm messages are landing into DLQ. in this situation the messages volunme is high then DLQ is getting full.


If the other server isn't up, why have your application keep trying and then moving messages to another queue? I would think you would want it to end and send an alert off to somebody to check on the other application?
Back to top
View user's profile Send private message Send e-mail Visit poster's website AIM Address Yahoo Messenger
Display posts from previous:   
Post new topic  Reply to topic Goto page 1, 2  Next Page 1 of 2

MQSeries.net Forum Index » General Discussion » DEad letter Queue is full?
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.