|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
Back Out message not not sent to dead letter queue |
« View previous topic :: View next topic » |
Author |
Message
|
muthu121521 |
Posted: Tue May 23, 2017 1:39 pm Post subject: Back Out message not not sent to dead letter queue |
|
|
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 |
|
 |
zpat |
Posted: Tue May 23, 2017 11:12 pm Post subject: |
|
|
 Jedi Council
Joined: 19 May 2001 Posts: 5866 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 |
|
 |
gbaddeley |
Posted: Wed May 24, 2017 5:26 pm Post subject: |
|
|
 Jedi Knight
Joined: 25 Mar 2003 Posts: 2538 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 |
|
 |
PeterPotkay |
Posted: Thu May 25, 2017 5:46 am Post subject: |
|
|
 Poobah
Joined: 15 May 2001 Posts: 7722
|
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 |
|
 |
missing_link |
Posted: Thu May 25, 2017 6:09 am Post subject: |
|
|
 Acolyte
Joined: 08 Jan 2004 Posts: 60
|
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 |
|
 |
bruce2359 |
Posted: Thu May 25, 2017 6:23 am Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9469 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 |
|
 |
Vitor |
Posted: Thu May 25, 2017 6:34 am Post subject: |
|
|
 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 |
|
 |
missing_link |
Posted: Thu May 25, 2017 6:53 am Post subject: |
|
|
 Acolyte
Joined: 08 Jan 2004 Posts: 60
|
|
Back to top |
|
 |
|
|
 |
|
Page 1 of 1 |
|
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
|
|
|
|