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 IndexGeneral IBM MQ SupportMSGS in DLQ

Post new topicReply to topic Goto page 1, 2  Next
MSGS in DLQ View previous topic :: View next topic
Author Message
paleyplease
PostPosted: Fri Oct 13, 2017 7:10 am Post subject: MSGS in DLQ Reply with quote

Apprentice

Joined: 05 Feb 2014
Posts: 42

I have a QMGR that has a few msgs in the DLQ but when I run the MQ handler I get this error:

./runmqdlq DEAD.LETTER.Q MQXL06P
action(retry)
10/13/2017 10:01:36 AM AMQ8708: Dead-letter queue handler started to process INPUTQ(DEAD.LETTER.Q).
10/13/2017 10:01:36 AM AMQ8722: Dead-letter queue handler unable to put message: Rule 1 Reason 2085.
10/13/2017 10:01:36 AM AMQ8722: Dead-letter queue handler unable to put message: Rule 1 Reason 2085.


But when I browse the msgs on the DLQ:

length - 468 of 468 bytes

00000000: 444C 4820 0100 0000 0408 0000 414D 512E 'DLH ........AMQ.'
00000010: 3539 4334 4632 4443 3244 3736 4143 4632 '59C4F2DC2D76ACF2'
00000020: 2020 2020 2020 2020 2020 2020 2020 2020 ' '
00000030: 2020 2020 2020 2020 2020 2020 4D51 584C ' MQXL'
00000040: 3036 5020 2020 2020 2020 2020 2020 2020 '06P '
00000050: 2020 2020 2020 2020 2020 2020 2020 2020 ' '
00000060: 2020 2020 2020 2020 2020 2020 2202 0000 ' "...'
00000070: B804 0000 4D51 4144 4D49 4E20 0600 0000 '....MQADMIN ....'
00000080: 616D 7170 6373 6561 0000 0000 0000 0000 'amqpcsea........'
00000090: 0000 0000 0000 0000 0000 0000 3230 3137 '............2017'
000000A0: 3130 3131 3138 3235 3439 3932 0200 0000 '101118254992....'
000000B0: 2400 0000 0200 0000 2900 0000 0100 0000 '$.......).......'
000000C0: 0100 0000 0000 0000 0000 0000 0B00 0000 '................'
000000D0: 0400 0000 4400 0000 E007 0000 0000 0000 '....D...........'
000000E0: 3000 0000 4756 2E44 454D 414E 442E 4341 '0...GV.DEMAND.CA'
000000F0: 4348 452E 4341 532E 4552 524F 522E 5120 'CHE.CAS.ERROR.Q '


The following queue does exist on the QMGR:

GV.DEMAND.CACHE.CAS.ERROR.Q


This one doesnt, wasnt sure if its looking for this: AMQ.59C4F2DC2D76ACF2
Back to top
View user's profile Send private message
exerk
PostPosted: Fri Oct 13, 2017 7:17 am Post subject: Reply with quote

Jedi Council

Joined: 02 Nov 2006
Posts: 5756

That looks like it's due to a TEMP.DYN queue no longer in existence, so, are these messages the result of a monitoring application making enquiries of queue GV.DEMAND.CACHE.CAS.ERROR.Q and timing out?
_________________
It's puzzling, I don't think I've ever seen anything quite like this before...and it's hard to soar like an eagle when you're surrounded by turkeys.

Back to top
View user's profile Send private message
paleyplease
PostPosted: Fri Oct 13, 2017 7:25 am Post subject: Reply with quote

Apprentice

Joined: 05 Feb 2014
Posts: 42

Thanks for the reply. Not 100% sure about that.

Trying to get to the bottom of why msgs go to the DLQ, and when I try to requeue them via the dlq handler it throws the 2085
Back to top
View user's profile Send private message
Vitor
PostPosted: Fri Oct 13, 2017 7:30 am Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 24648
Location: Ohio, USA

paleyplease wrote:
Trying to get to the bottom of why msgs go to the DLQ


The error code in the dead letter header is probably a good place to start.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
zpat
PostPosted: Fri Oct 13, 2017 7:33 am Post subject: Reply with quote

Jedi Council

Joined: 19 May 2001
Posts: 5579
Location: UK

You could add a rule to discard messages from queue names starting with AMQ.

Generally the DLQ rules should be targeted at known queue name patterns or message attributes (like persistent messages).

In any case a rule to re-queue to the same queue doesn't really make a lot of sense. It arrived on the DLQ for a reason, so usually it's best moved to a backout or error queue for investigation, unless something has happened to deal with the original reason.
_________________
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.


Last edited by zpat on Fri Oct 13, 2017 7:39 am; edited 1 time in total
Back to top
View user's profile Send private message
paleyplease
PostPosted: Fri Oct 13, 2017 7:33 am Post subject: Reply with quote

Apprentice

Joined: 05 Feb 2014
Posts: 42

I physically created these per the 2085:

AMQ.59C4F2DC2D76ACF2
AMQ.59C4F2DC2CB370EF

Ran the DLQ handler and a msg went there.

Wondering what the purpose of those type of queues are and if this is necessary.
Back to top
View user's profile Send private message
zpat
PostPosted: Fri Oct 13, 2017 7:40 am Post subject: Reply with quote

Jedi Council

Joined: 19 May 2001
Posts: 5579
Location: UK

Better to add a DISCARD rule to the DLQ rules than to create unneeded queues.
_________________
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
View user's profile Send private message
mqjeff
PostPosted: Fri Oct 13, 2017 7:41 am Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17448

Those are temporary dynamic queues.

They are used by things like MQExplorer and monitoring tools and etc.

If those queues are closed, they disappear. If they are closed or the application quits while messages are still in flight to go to those queues, then those messages end up in the DLQ.
_________________
chmod -R ugo-wx /
Back to top
View user's profile Send private message
paleyplease
PostPosted: Fri Oct 13, 2017 7:41 am Post subject: Reply with quote

Apprentice

Joined: 05 Feb 2014
Posts: 42

I agree, I think the key for me is to understand why msgs are going to the DLQ and what the purpose of these AMQ* queues are for and how to prevent this.
Back to top
View user's profile Send private message
Vitor
PostPosted: Fri Oct 13, 2017 7:45 am Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 24648
Location: Ohio, USA

paleyplease wrote:
I think the key for me is to understand why msgs are going to the DLQ


Which is given by the code in the DLH. He said again.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
paleyplease
PostPosted: Fri Oct 13, 2017 7:47 am Post subject: Reply with quote

Apprentice

Joined: 05 Feb 2014
Posts: 42

Right so whats the purpose of these AMQ*
Back to top
View user's profile Send private message
mqjeff
PostPosted: Fri Oct 13, 2017 7:48 am Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17448

paleyplease wrote:
I agree, I think the key for me is to understand why msgs are going to the DLQ and what the purpose of these AMQ* queues are for and how to prevent this.


These messages are going to the DLQ because the AMQ* queues don't exist any more.

The AMQ* queues are temporary and dynamic, which means they only exist while the program that created them is still running and has them open.

You can "prevent" this by changing the properties of all of your model queue (or maybe the qmgrr? I forget) to prevent someone from opening model queue.

This will break a lot of things.
_________________
chmod -R ugo-wx /
Back to top
View user's profile Send private message
mqjeff
PostPosted: Fri Oct 13, 2017 7:49 am Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17448

paleyplease wrote:
Right so whats the purpose of these AMQ*


The purpose of these queues is "whatever the program that created them is using them for".
_________________
chmod -R ugo-wx /
Back to top
View user's profile Send private message
paleyplease
PostPosted: Fri Oct 13, 2017 7:50 am Post subject: Reply with quote

Apprentice

Joined: 05 Feb 2014
Posts: 42

Back to top
View user's profile Send private message
zpat
PostPosted: Fri Oct 13, 2017 8:03 am Post subject: Reply with quote

Jedi Council

Joined: 19 May 2001
Posts: 5579
Location: UK

MQJ explorer for example uses them.

If the DLH RC is queue full (2053), try increasing the max depth on the model queue to avoid the problem re-occurring.
_________________
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
View user's profile Send private message
Display posts from previous:
Post new topicReply to topic Goto page 1, 2  Next Page 1 of 2

MQSeries.net Forum IndexGeneral IBM MQ SupportMSGS in DLQ
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.