| Author | Message | 
		
		  | smithamd | 
			  
				|  Posted: Mon Jun 24, 2019 1:45 pm    Post subject: Unable to put messages to DLQ 2053 |   |  | 
		
		  | Newbie
 
 
 Joined: 18 Aug 2015Posts: 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 2013Posts: 1967
 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 2003Posts: 20767
 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 2015Posts: 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 2008Posts: 9486
 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 2013Posts: 1967
 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 2003Posts: 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 2015Posts: 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 2010Posts: 942
 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 2005Posts: 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 2003Posts: 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 |  | 
		
		  |  | 
		
		  |  |