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 IBM MQ Support » Do I really need a Dead Letter Queue?

Post new topic  Reply to topic Goto page Previous  1, 2
 Do I really need a Dead Letter Queue? « View previous topic :: View next topic » 
Author Message
kanwisch
PostPosted: Mon Sep 22, 2003 11:50 am    Post subject: Reply with quote

Newbie

Joined: 16 Jul 2003
Posts: 2

Unlike you, we have NO tools that are not included with the "standard" IBM package. So, administration is more complex. Yes, affinity is key here too, and I suspect that will be the case for several other apps coming down the pipe.

Our pluses are that all messages are smallish, and persistent, so message loss would never be an issue.

I saw that several others had suggested the lack of DLQ be a decision of last resort, but I fail to see the reason still. It fits this sort of circumstance perfectly. The only downside is the increased quantity of administration necessary to monitor the channel. After all, that's the real issue: the channel stops and everything backs up. Essentially, in an sequentially-oriented design, that's really what you want to happen anyway, isn't it?

There, is, granted, the added overhead of dedicated channels, which I can see ballooning into a major issue, so I suppose for that reason alone, I'm happy the internal folks figured out a messenging method that solves the affinity issue internally, as opposed to "changing" the std MQ implmentation (using DLQs) to fit their need (a common problem in-house).

Thanks.
_________________
I can't wait until the meek inherit the earth. The stupid currently have it.
Back to top
View user's profile Send private message
simon.starkie
PostPosted: Mon Sep 22, 2003 1:56 pm    Post subject: Reply with quote

Disciple

Joined: 24 Mar 2002
Posts: 180

A couple of personal opinions are in order:
1. Tivoli is, IMHO, only a marginal "tool". I'd much rather have contact admin. Regardless, you need some automation to keep an eye on the xmit queues, channels and DLQ's (if assigned) if you want to have a well run shop.
2. The default when you create a QMgr is for no DLQ to be associated. DLQ is not required.
3. It is a myth that runnning without a DLQ is a decision of last resort. I think what has happened over the years is that this myth has evolved which says your are only safe if you assign a DLQ and people have long since stopped challenging the reasons behind the myth. As I said, I got a good answer from the head of development for MQ at Hursley that it is perfectly safe to run without a DLQ. For over a year, we have run like this without any problems. Remember, DLQ's are for UNDELIVERABLE messages. The DLQ does not get "corrupted" messages. The DLQ is not a safty net which catches messages that would othewise be lost (what kind of "assured delivery" would that be if they were lost?). A DLQ is not a safety net for bad code (i.e. silent discard). With a DLQ, undeliverable messages, for example because the target queue is full or the rare case of EBCDIC to ASCII translation fails because of bad data (which is why it's a bad idea to translate on the channel...) are captured. Without a DLQ, the same situations cause everything to stop and this preserves message affinity, which is preferable to messages being processed out of sequence via a DLQ.

Thank your luck stars you are not dealing with MSMQ where the DLQ is not optional. Or the MSMQ Bridge which has several DLQ's.

HTH
Back to top
View user's profile Send private message
sanvaranasi
PostPosted: Mon Aug 30, 2004 5:16 am    Post subject: Will the codes for put retrn a success if no dlq defined Reply with quote

Novice

Joined: 24 Feb 2004
Posts: 10
Location: india

Quote:
Basically, non-persistent messages were discarded if they could not be delivered and there was no DLQ available to the local Queue Manager.


What i want to know is that if the message cannot be delivered and also there is no DLQ defined on the local queue manager then what is the reason and completion code that the applicaiton which trying to do a put will get. Will it still get a successful put reason and completion codes? [/quote]
Back to top
View user's profile Send private message
mrlinux
PostPosted: Mon Aug 30, 2004 5:31 am    Post subject: Reply with quote

Grand Master

Joined: 14 Feb 2002
Posts: 1261
Location: Detroit,MI USA

If the queue you are doing the MQPUT to is a remote or qmgr alias and the message is successfully placed on the xmitq defined in their definition then you will get a Successful completion and reason code.
_________________
Jeff

IBM Certified Developer MQSeries
IBM Certified Specialist MQSeries
IBM Certified Solutions Expert MQSeries
Back to top
View user's profile Send private message Send e-mail
sanvaranasi
PostPosted: Mon Aug 30, 2004 5:47 am    Post subject: will the appln doing the put still get a successful ret code Reply with quote

Novice

Joined: 24 Feb 2004
Posts: 10
Location: india

Maybe i did not put it across correctly:

Q1) Even if you do not define a DLQ isn't there a default DLQ?

Q2) Yes i am trying to put to a remote queue on another machine.
All queues local and remote are non persistent. There is no explicit dlq defined. The channel is defined as FAST and messages are nonpersistent.

a) In this situation for some reason if the message cannot be delivered to the remote queue will the message get discarded or will it remain in the XMITQ.

b) if it gets discarded and does not land up in the XMITQ then will the application doing the put still get a successful return code.

What i am trying to understand is that if a message gets discarded because of the above reason then wont the applicaton that was doing the put get to know about it through a different reason and completion code?
Back to top
View user's profile Send private message
jefflowrey
PostPosted: Mon Aug 30, 2004 5:50 am    Post subject: Re: will the appln doing the put still get a successful ret Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

contact admin wrote:

Q1) Even if you do not define a DLQ isn't there a default DLQ?

Not that I know of, no.
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
sanvaranasi
PostPosted: Mon Aug 30, 2004 5:55 am    Post subject: Reply with quote

Novice

Joined: 24 Feb 2004
Posts: 10
Location: india

Quote:
Not that I know of, no.


What is the SYSTEM.DEAD.LETTER.QUEUE then?
Back to top
View user's profile Send private message
mrlinux
PostPosted: Mon Aug 30, 2004 5:58 am    Post subject: Reply with quote

Grand Master

Joined: 14 Feb 2002
Posts: 1261
Location: Detroit,MI USA

The SYSTEM.DEAD.LETTER.QUEUE is created by default, however unless you specify it in the qmgr settings then it is not used.

Unless you do this under runmqsc or the windows gui equiv then it will not be used.
alt qmgr DEADQ("SYSTEM.DEAD.LETTER.QUEUE)
_________________
Jeff

IBM Certified Developer MQSeries
IBM Certified Specialist MQSeries
IBM Certified Solutions Expert MQSeries
Back to top
View user's profile Send private message Send e-mail
jefflowrey
PostPosted: Mon Aug 30, 2004 6:02 am    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

Is S.D.L.Q created automatically?

I didn't think it was, unless you specified it when you were doing crtmqm or etc...
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
sanvaranasi
PostPosted: Mon Aug 30, 2004 6:05 am    Post subject: Reply with quote

Novice

Joined: 24 Feb 2004
Posts: 10
Location: india

Yes the S.D.L.Q is created automatically and i did not have to specifically create it.
Back to top
View user's profile Send private message
PeterPotkay
PostPosted: Mon Aug 30, 2004 11:48 am    Post subject: Reply with quote

Poobah

Joined: 15 May 2001
Posts: 7722

Quote:

Q2) Yes i am trying to put to a remote queue on another machine.
All queues local and remote are non persistent. There is no explicit dlq defined. The channel is defined as FAST and messages are nonpersistent.

a) In this situation for some reason if the message cannot be delivered to the remote queue will the message get discarded or will it remain in the XMITQ.

b) if it gets discarded and does not land up in the XMITQ then will the application doing the put still get a successful return code.



App1 connects to QM1 to put to a remote queue def that points at QM2. If the MQPUT can get the message succesfully to the XMITQ on QM1, the app is returned a good RC on its MQPUT.

The SNDR MCA on QM1 then MQGETs this NonPersistent message from the XMITQ and sends it -***outside of SYNCPOINT control***- to the RCVR MCA on QM2 over a FAST channel.

If the message is lost by the network in flight, the message is gone.

If the message arrives on QM2, but cannot be PUT to the destination queue, it is attempted to be put to the DLQ. But if the QM has no DLQ assigned to it (when the RCVR MCA starts up the 1st thing it does is MQINQ the QM to see what the DLQ is), the the RCVR MCA takes this NP message from this FAST channel and throws it away.


Consider making your channels NORMAL, instead of FAST. When you weigh all the PROS and CONS, NORMAL channels are almost always better. All our channels, except for one overlapping cluster, are NORMAL.

The default is FAST I assume because IBM likes MQ to look as fast as possible if comapnies are doing performance testing while comparing it to other products?
_________________
Peter Potkay
Keep Calm and MQ On
Back to top
View user's profile Send private message
sanvaranasi
PostPosted: Mon Aug 30, 2004 7:00 pm    Post subject: Reply with quote

Novice

Joined: 24 Feb 2004
Posts: 10
Location: india

Thanks Peter. Very well worded. The mechanism is very clear now.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Goto page Previous  1, 2 Page 2 of 2

MQSeries.net Forum Index » General IBM MQ Support » Do I really need a Dead Letter Queue?
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.