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 » WebSphere Message Broker (ACE) Support » Transactionality during failures

Post new topic  Reply to topic
 Transactionality during failures « View previous topic :: View next topic » 
Author Message
GeneRK4
PostPosted: Wed May 13, 2015 5:27 pm    Post subject: Transactionality during failures Reply with quote

Master

Joined: 08 Jul 2013
Posts: 220

I observed that when a non-transactional message gets catched in catch terminal due to some failures in later nodes,and even though Catch terminal has throw node,it is not entering into Failure terminal finally.It gets discarded.

But if there is any failure in Input node itself,then the non-transactional message is handled in Failure terminal for exceptions.

My query is,why when error happens in latter nodes after being catched in Catch terminal,its not handled further in Failure terminal ,for a non-transactional message?
For Transaction message,behaviour is understandable .It goes into first catch terminal.And finally into Failure terminal.
Back to top
View user's profile Send private message
inMo
PostPosted: Thu May 14, 2015 4:58 am    Post subject: Reply with quote

Master

Joined: 27 Jun 2009
Posts: 216
Location: NY

Quote:
why when error happens in latter nodes after being catched in Catch terminal,its not handled further in Failure terminal


You just had the opportunity to handle it further off the catch. How many more further opportunities do you need?
Back to top
View user's profile Send private message
GeneRK4
PostPosted: Thu May 14, 2015 6:19 am    Post subject: Reply with quote

Master

Joined: 08 Jul 2013
Posts: 220

inMo wrote:
Quote:
why when error happens in latter nodes after being catched in Catch terminal,its not handled further in Failure terminal


You just had the opportunity to handle it further off the catch. How many more further opportunities do you need?


In catch terminal ,there is a Throw.Hence again in Input node ,error is thrown as "User error thrown".This is not handled in Failure terminal for non-transactional message and it gets simply discarded.
But this is handled in Failure terminal for transactional message.
Back to top
View user's profile Send private message
inMo
PostPosted: Thu May 14, 2015 6:48 am    Post subject: Reply with quote

Master

Joined: 27 Jun 2009
Posts: 216
Location: NY

Did you look at the error information off of the failure term, or just observe that a message is propagated?
Back to top
View user's profile Send private message
mgk
PostPosted: Thu May 14, 2015 7:02 am    Post subject: Reply with quote

Padawan

Joined: 31 Jul 2003
Posts: 1638

Failure Terminals are only ever fired if there is an exception or error in that node. So in the transactional case, the throw down the Catch terminal actually causes the message to be backed-out to the queue in the Input node, and it is only when it is brought back in again from the queue that the node detects that the thresholds have been exceeded that the message is then sent to the Input node's Failure Terminal.

Kind regards,
_________________
MGK
The postings I make on this site are my own and don't necessarily represent IBM's positions, strategies or opinions.
Back to top
View user's profile Send private message
GeneRK4
PostPosted: Thu May 14, 2015 4:47 pm    Post subject: Reply with quote

Master

Joined: 08 Jul 2013
Posts: 220

Thanks mgk..
I can understand that when it is transactional,Input node checks for backout threshold and accordingly error is handled in failure terminal.
But when it is non-transactional,backout count check is discarded and hence failure terminal does not act upon the message.Why backout count check is discarded for non-transactional message?I am still not understanding the concept of this.Even for non-transactional message,we may like to do retries upto backout threshold.But why this check is getting discarded?
Back to top
View user's profile Send private message
mqjeff
PostPosted: Fri May 15, 2015 4:20 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

GeneRK4 wrote:
Thanks mgk..
I can understand that when it is transactional,Input node checks for backout threshold and accordingly error is handled in failure terminal.


No. It is handled when the message is read from the queue.

GeneRK4 wrote:
But when it is non-transactional,backout count check is discarded and hence failure terminal does not act upon the message.Why backout count check is discarded for non-transactional message?I am still not understanding the concept of this.Even for non-transactional message,we may like to do retries upto backout threshold.But why this check is getting discarded?


The handling of non-persistent messages in regards to backout queues is documented in the MQ knowledge center and works the same way for Broker MQInput nodes as it does for any other MQ application (that is written to deal with backout count and backout queue)

Again, a backout count on a message that is greater than the value set on the queue does not cause a message to get sent to the failure terminal.
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 » WebSphere Message Broker (ACE) Support » Transactionality during failures
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.