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 » Problem with the BackoutThreshold property?

Post new topic  Reply to topic
 Problem with the BackoutThreshold property? « View previous topic :: View next topic » 
Author Message
unilog
PostPosted: Fri Jan 24, 2003 2:58 am    Post subject: Problem with the BackoutThreshold property? Reply with quote

Novice

Joined: 29 Apr 2002
Posts: 17
Location: Paris, France

Hi,

I'm using MQSeries 5.2 and WMQI 2.1 on AIX. I have the following problem with the BackoutThreshold properties. Under WMQI, I connected all the failure terminals of my Input Queues, so I haven't defined any DeadLetterQueue. For some reasons I cannot explain right now, in some case the raise error made by stored procedures of the applications generate the following error in the WMQI logs:
UserTrace BIP2631I: Backed out message being propagated to failure terminal; node 'FL_F_RB.In_Q_NABU.F_RB'.
Node 'FL_F_RB.In_Q_NABU.F_RB' has received a message which has previously been backed out because of a processing error in the message flow. The MQMD 'backoutCount' of the message exceeds (or equals) the 'backoutThreshold' defined for the MQSeries input queue. The message broker is propagating the message to the failure terminal of the node.


The message is propagated to the failure terminal of my Input Queue (and not the catch of the Try-Catch node), a core is generated under AIX in the /home/mqm directory and I cannot get any error message from the applications. Moreover, the error is generated when WMQI tries to put the message in the OutputQueue and not when it is calling the stored procedure of the applications..

I haven't any idea of what's happening. Any help would be great. Moreover I cannot understand why an MQSeries error is generated (with the backoutThreshold)

Thank for your help

Alex
Back to top
View user's profile Send private message
kirani
PostPosted: Fri Jan 24, 2003 1:33 pm    Post subject: Reply with quote

Jedi Knight

Joined: 05 Sep 2001
Posts: 3779
Location: Torrance, CA, USA

Alex,

What CSD level you are at for MQSeries and WMQI?
What database are you using here? Oracle, DB2, Sybase, SQL Server?
There are many possibilities when a message will be propagated to the Failure terminal of MQInput node. Would appreciate if you could explain your message flow layout, like which terminal is connected to what node, etc. then I can try explaining the reason behind this. In the meantime please take a look at this thread,
http://www.mqseries.net/phpBB2/viewtopic.php?t=4592&highlight=backout
_________________
Kiran


IBM Cert. Solution Designer & System Administrator - WBIMB V5
IBM Cert. Solutions Expert - WMQI
IBM Cert. Specialist - WMQI, MQSeries
IBM Cert. Developer - MQSeries

Back to top
View user's profile Send private message Visit poster's website
unilog
PostPosted: Mon Jan 27, 2003 6:26 am    Post subject: Reply with quote

Novice

Joined: 29 Apr 2002
Posts: 17
Location: Paris, France

Hi Kirani,

I'm using WMQI 2.1 +CSD 2 and MQSeries 5.2 + CSD 4 both on AIX. THe database we are using is Oracle 8.1.7.
The MQInput terminals are connected as following:

Failure --> Connected to our Managing errors nodes
Catch --> Connected to our Managing errors nodes
Out --> Connectd to a try-Catch, which is connected to several nodes, like the one we use to call databases.
In our configuration, we are calling stored procedures to communicate with applications. We use the following command in a compute node:

PASSTHRU('{call name_of_procedure(?)}', buffer);
where buffer is a cast of our XML buffer into string.

We haven't connected the failure terminals of our nodes (except for the Input Nodes)

The compute node used to call the stored procedure is connected via its out terminal to an MQOutput node without connection.

Thanks for your note, I took a look at it, but couldn't find any point explaining my problem.

Thanks for your help
Alex


kirani wrote:
Alex,

What CSD level you are at for MQSeries and WMQI?
What database are you using here? Oracle, DB2, Sybase, SQL Server?
There are many possibilities when a message will be propagated to the Failure terminal of MQInput node. Would appreciate if you could explain your message flow layout, like which terminal is connected to what node, etc. then I can try explaining the reason behind this. In the meantime please take a look at this thread,
http://www.mqseries.net/phpBB2/viewtopic.php?t=4592&highlight=backout
Back to top
View user's profile Send private message
kirani
PostPosted: Mon Jan 27, 2003 8:00 pm    Post subject: Reply with quote

Jedi Knight

Joined: 05 Sep 2001
Posts: 3779
Location: Torrance, CA, USA

Hi Alex,

As you mentioned in your earlier post, the message flow fails while writing out the message to output queue.
Do you have Trace nodes in your "Manage error subflow" and catch terminal of your try-catch node? I'd recommend that you print ${ExceptionList} in a trace node and try to capture errors into some files. Connect this trace node to the catch terminal of MQInput node and catch terminal of your try-catch node. See if you get more error details.

There is also a possibility that the input message is already backed out by the queue manager; this will result in increment of value in MQMD.BackoutCount. MQInput node, when gets message from the queue, first checks whether the MQMD.Backoutcount is greater than Backout Threshold property of the queue, if the backout count is greater than backout threshold, the message will be propagated to the failure terminal of MQInput node. I think this is what happening in your message flow.

I'd strongly recommend that you either define a backout queue for your input queue or DLQ for your queue manager. In current scenario, if there is an error in the failure path of your MQInput node, your message flow will go into infinite loop. It's also a good practice to use try-catch nodes in your error handler.

At this point you can try connecting trace nodes in different paths to capture the message trace and see where exactly it's failing.
_________________
Kiran


IBM Cert. Solution Designer & System Administrator - WBIMB V5
IBM Cert. Solutions Expert - WMQI
IBM Cert. Specialist - WMQI, MQSeries
IBM Cert. Developer - MQSeries

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

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » Problem with the BackoutThreshold property?
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.