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 » Back Out message not not sent to dead letter queue

Post new topic  Reply to topic
 Back Out message not not sent to dead letter queue « View previous topic :: View next topic » 
Author Message
muthu121521
PostPosted: Tue May 23, 2017 1:39 pm    Post subject: Back Out message not not sent to dead letter queue Reply with quote

Apprentice

Joined: 31 Aug 2015
Posts: 36

We have had an issue in our prod environment:
Message flow Overview:
Our Message flow has mq input node which we have configured as browse only,so the only when the transaction is successfully completed finally in the mq get node ,it will get deleted. Our flow design is like that.

Few days back the queue to which our message flow listens the message on top has back count increased by 1 some how (which we are yet to figure why) since back out threshold set to 0 and back out queue set to none ,top of the message should have been sent to DL queue, but it didnt the message was tried again and again ,for each millisecond the message flow was throwing an error 'Dequeue of messages got failed' and it was sent to failure terminal , no of events we got around is million events in the queue , this issue didnt stop until we manually deleted that message.

Has any one faced issues like that in prod environment? We need to know why the first message which wasnt sent to DL queue because there was back out queue defined. We also want to why we the message was propagated to failure terminal is this back count is 1?
Back to top
View user's profile Send private message
zpat
PostPosted: Tue May 23, 2017 11:12 pm    Post subject: Reply with quote

Jedi Council

Joined: 19 May 2001
Posts: 5849
Location: UK

Don't use browse in applications. It's nearly always a very bad idea, especially on a MQinput node (Heaven knows why IBM allow it).

Just get the message with a transactional flow (MQinput node, transaction=Yes, and Browse=No). Commit or rollback as needed.

For one thing browsing a queue does not increment the backout count since the message is not backed out.

Please look at the example flows, this is day one, page one of any broker training.
_________________
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
gbaddeley
PostPosted: Wed May 24, 2017 5:26 pm    Post subject: Reply with quote

Jedi

Joined: 25 Mar 2003
Posts: 2492
Location: Melbourne, Australia

Quote:
since back out threshold set to 0 and back out queue set to none ,top of the message should have been sent to DL queue

The threshold and the backout queue name do not control whether or not a message can be backed out and the backout count is incremented.

These 2 attributes are only there for use by specific app code or MQ adapter code that understands them and takes action based on their values. This could including putting the message on the DL queue. This is not a built-in feature of MQ, the app or MQ adapter needs to implement the feature in code. Eg. The WAS JMS MQ provider can do this.
_________________
Glenn
Back to top
View user's profile Send private message
PeterPotkay
PostPosted: Thu May 25, 2017 5:46 am    Post subject: Reply with quote

Poobah

Joined: 15 May 2001
Posts: 7717

WMB/IIB is coded internally to use MQ's Backout Queue and Backout Threshhold, so while it may appear MQ is doing it automatically for you, no, its WMB/IIB that is coded to do it. WMB/IIB is just another MQ app.

But check this out. Look how WMB/IIB treats Backout Threshold of 0.

https://www.ibm.com/support/knowledgecenter/SSMKHH_10.0.0/com.ibm.etools.mft.doc/ac00414_.htm

Quote:
When you create the queue, you can specify the value of the backout threshold attribute BOTHRESH, or use the default, 0. If you accept the default value of 0, the MQInput node increases this value to 1. The MQInput node also sets the value to 1 if it cannot detect the current value. If the backout threshold is set to 1, the message is processed once, and does not try again through the Out terminal of the MQInput node. For the message to try again at least once, set the backout threshold to 2.

_________________
Peter Potkay
Keep Calm and MQ On
Back to top
View user's profile Send private message
missing_link
PostPosted: Thu May 25, 2017 6:09 am    Post subject: Reply with quote

Acolyte

Joined: 08 Jan 2004
Posts: 59

Nicely pointed out. At a previous client we set virtually all BOTHRESH values to 2 to ensure that messages were automatically retried before failing them.
Back to top
View user's profile Send private message
bruce2359
PostPosted: Thu May 25, 2017 6:23 am    Post subject: Reply with quote

Poobah

Joined: 05 Jan 2008
Posts: 9394
Location: US: west coast, almost. Otherwise, enroute.

missing_link wrote:
Nicely pointed out. At a previous client we set virtually all BOTHRESH values to 2 to ensure that messages were automatically retried before failing them.

Curious. Why would a 2nd (or 3rd) attempt to process a message succeed if the first attempt failed?
_________________
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.
Back to top
View user's profile Send private message
Vitor
PostPosted: Thu May 25, 2017 6:34 am    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

bruce2359 wrote:
missing_link wrote:
Nicely pointed out. At a previous client we set virtually all BOTHRESH values to 2 to ensure that messages were automatically retried before failing them.

Curious. Why would a 2nd (or 3rd) attempt to process a message succeed if the first attempt failed?


Because the message being processed failed due to a transient 3rd party error (web service busy, network being a network, database table locked, etc.). You try the message a few seconds later and shazam! The problem has magically disappeared.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
missing_link
PostPosted: Thu May 25, 2017 6:53 am    Post subject: Reply with quote

Acolyte

Joined: 08 Jan 2004
Posts: 59

Exactly!!
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » General Discussion » Back Out message not not sent to 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.