Author |
Message
|
smithamd |
Posted: Mon Jun 24, 2019 1:45 pm Post subject: Unable to put messages to DLQ 2053 |
|
|
Newbie
Joined: 18 Aug 2015 Posts: 7
|
I am not well versed with MQ. So pardon me if this is a simple thing.
We are using MQ version 7. I am seeing an error in our code stating that it failed to put message in dead letter queue with reason code of 2053. 2053 seems like a queue full error. But when I try to look at this queue in explorer the queue depth is 0. I am not sure why it shows full if the queue depth is 0.
Any advice? |
|
Back to top |
|
 |
hughson |
Posted: Mon Jun 24, 2019 8:39 pm Post subject: |
|
|
 Padawan
Joined: 09 May 2013 Posts: 1959 Location: Bay of Plenty, New Zealand
|
You are quite correct that the reason code 2053 is MQRC_Q_FULL.
It is possible that the queue is full of uncommitted messages.
Try the following command against the queue that is being reported as full.
Code: |
DISPLAY QSTATUS(q-name) UNCOM |
The UNCOM attribute shows if there are any uncommitted messages on the queue.
If this doesn't show any issues the other problem that I can think it might be is that the code is reporting it hit the queue full condition, but it has already over-written the queue name with the DLQ name when printing out the error statement. Perhaps it had a queue full condition with another queue, then a failure to put to the DLQ for some other reason (e.g. authority) and the error it reported was a mixture of the two problems.
N.B. If there was an authority failure to put to the DLQ that will be reported in your Queue Manager error logs.
Cheers,
Morag _________________ Morag Hughson @MoragHughson
IBM MQ Technical Education Specialist
Get your IBM MQ training here!
MQGem Software |
|
Back to top |
|
 |
fjb_saper |
Posted: Tue Jun 25, 2019 4:56 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
@morag I thought uncommitted messages were part of the qdepth??
I suspect your second hypothesis is the right one.  _________________ MQ & Broker admin |
|
Back to top |
|
 |
smithamd |
Posted: Tue Jun 25, 2019 10:09 am Post subject: |
|
|
Newbie
Joined: 18 Aug 2015 Posts: 7
|
This is what i see in MQ errors
AMQ7307: A message could not be put on the dead-letter queue.
EXPLANATION:
The attempt to put a message on the dead-letter queue ... on queue
manager ... failed with reason code 2053. The message will be discarded.
ACTION:
Ensure that the dead-letter queue is available and operational. |
|
Back to top |
|
 |
bruce2359 |
Posted: Tue Jun 25, 2019 2:07 pm Post subject: Re: Unable to put messages to DLQ 2053 |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9469 Location: US: west coast, almost. Otherwise, enroute.
|
smithamd wrote: |
I am not well versed with MQ. So pardon me if this is a simple thing.
We are using MQ version 7. I am seeing an error in our code stating that it failed to put message in dead letter queue with reason code of 2053. 2053 seems like a queue full error. But when I try to look at this queue in explorer the queue depth is 0. I am not sure why it shows full if the queue depth is 0.
Any advice? |
Which queue has depth of 0? What is MAXDEPTH of the queue?
Does the inbound channel go into RETRY and then STOPPED state? Is the SENDER channel set to NPMDPEED(FAST)? Are the messages being sent non-persistent? _________________ I like deadlines. I like to wave as they pass by.
ב''ה
Lex Orandi, Lex Credendi, Lex Vivendi. As we Worship, So we Believe, So we Live.
Last edited by bruce2359 on Tue Jun 25, 2019 5:48 pm; edited 1 time in total |
|
Back to top |
|
 |
hughson |
Posted: Tue Jun 25, 2019 3:12 pm Post subject: |
|
|
 Padawan
Joined: 09 May 2013 Posts: 1959 Location: Bay of Plenty, New Zealand
|
fjb_saper wrote: |
@morag I thought uncommitted messages were part of the qdepth?? |
Uncommitted Puts will increase the curdepth and uncommitted gets will decrease the curdepth.
The OP has not shown us the output from the following command yet, I hope he will do this soon.
Code: |
DISPLAY QSTATUS(q-name) UNCOM |
If UNCOM shows uncommitted messages, it would seem likely that his Dead-Letter handler application is not committing the gets from the DLQ.
Cheers,
Morag _________________ Morag Hughson @MoragHughson
IBM MQ Technical Education Specialist
Get your IBM MQ training here!
MQGem Software |
|
Back to top |
|
 |
gbaddeley |
Posted: Tue Jun 25, 2019 4:02 pm Post subject: Re: Unable to put messages to DLQ 2053 |
|
|
 Jedi Knight
Joined: 25 Mar 2003 Posts: 2538 Location: Melbourne, Australia
|
smithamd wrote: |
I am not well versed with MQ. So pardon me if this is a simple thing. We are using MQ version 7. I am seeing an error in our code stating that it failed to put message in dead letter queue with reason code of 2053. 2053 seems like a queue full error. But when I try to look at this queue in explorer the queue depth is 0. I am not sure why it shows full if the queue depth is 0. Any advice? |
Check the DEADQ attribute of the queue manager (DISPLAY QMGR DEADQ). It defines the name of the dead letter queue. It may not be SYSTEM.DEAD.LETTER.QUEUE, or it may not even be set at all. _________________ Glenn |
|
Back to top |
|
 |
smithamd |
Posted: Wed Jun 26, 2019 11:03 am Post subject: |
|
|
Newbie
Joined: 18 Aug 2015 Posts: 7
|
bruce2359- current depth of defined dead letter queue (named DLQ) is 0. max queue depth is defined as 50000. The messages are persistent.
Display on NMSPEED does not seem to have return any value.
hughson- the command RETURNS BELOW
CURDEPTH(0) UNCOM(NO)
gbaddeley- we have queue defined as DLQ which is what is being referred by q manager as dead letter queue.
our test environment seems to show messages in the dead letter queue. The difference in configuration between the queues i see is max depth events and high events are enabled in prod but not in test. Not sure what these do.
Last edited by smithamd on Wed Jun 26, 2019 11:21 am; edited 1 time in total |
|
Back to top |
|
 |
tczielke |
Posted: Wed Jun 26, 2019 11:13 am Post subject: |
|
|
Guardian
Joined: 08 Jul 2010 Posts: 941 Location: Illinois, USA
|
Do the messages have a short expiry on them? I was dealing with an issue recently where messages went to the D.L.Q. but they had a short expiry so it was difficult to catch them.
If you want to get cute, there are ways to use tracing and a "SLIP TRAP" on the error log to catch the messages, if you want to view them. _________________ Working with MQ since 2010. |
|
Back to top |
|
 |
Vitor |
Posted: Wed Jun 26, 2019 11:24 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
smithamd wrote: |
The difference in configuration between the queues i see is max depth events and high events are enabled in prod but not in test. Not sure what these do. |
They make the queue manager write out event messages (to the event queue) when the queue hits 80% and 100% full. Used for monitoring and probably not connected to your problem unless your monitoring software does something unorthodox to resolve a max depth event (which it would have got). _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
gbaddeley |
Posted: Wed Jun 26, 2019 3:18 pm Post subject: |
|
|
 Jedi Knight
Joined: 25 Mar 2003 Posts: 2538 Location: Melbourne, Australia
|
Is the TRIGGER attribute set on 'DLQ', or is it NOTRIGGER? There could be an app that is processing the messages, eg. runmqdlq
You could increase the MAXDEPTH on 'DLQ'. It should be set to a very high value (999999999), to avoid 2053 errors at all costs. The MAXMSGL should also be set to maximum (104857600). _________________ Glenn |
|
Back to top |
|
 |
|