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 » Broker timeout and Flow timeout

Post new topic  Reply to topic
 Broker timeout and Flow timeout « View previous topic :: View next topic » 
Author Message
sumit
PostPosted: Mon Apr 07, 2014 10:27 pm    Post subject: Broker timeout and Flow timeout Reply with quote

Partisan

Joined: 19 Jan 2006
Posts: 398

Hi All,

Configuration
OS - Linux
WMB - v8.0.0.3
Record and replay enabled.

Let's refer a small flow having design like-

HTTPInput node --> compute node --> SOAPRequest Node --> Compute node --> HTTPReply node

Timeout set at HTTPInput node - 58 secs
Timeout set at SOAPRequest node - 55 secs
Timeout set at application calling the flow - 60 secs

I understand (please verify), there are 2 kinds of timeout in such design.
1. Flow time out - Wherein SOAPRequest node took more than 55 secs to send a response. This timeout can be handled by connecting either SOAPRequest Failure termial or Catching it at HTTPInput node.

2. Broker time out -
With reference to what is given here in infocenter
Quote:
Connections are made into the broker HTTP listener, which places requests on the SYSTEM.BROKER.WS.INPUT queue, from which the input nodes read the data. After the flow has reached a reply node, the reply data is placed on the SYSTEM.BROKER.WS.REPLY queue, where the data is read by the HTTP listener and sent back to the HTTP client.


i.e. where the overall time taken by broker flow from getting a mesage from SYSTEM.BROKER.WS.INPUT and putting a reply on SYSTEM.BROKER.WS.REPLY took more than 60 secs (application time out). Reason could be because SYSTEM.BROKER.WS.INPUT is flooded with big messages.

My quries are,
1. can we handle these kinds of timeout scenarios (I understand 'Additional instance' is one thing)?
2. As the timeout is happening at broker level, flow level trace will not help me capture it. Is there any way to capture the error then?
3. Surprisingly, we didn't see time timeout info going to syslog. Has anyone else observed this?
_________________
Regards
Sumit
Back to top
View user's profile Send private message Yahoo Messenger
sumit
PostPosted: Mon Apr 07, 2014 10:53 pm    Post subject: Reply with quote

Partisan

Joined: 19 Jan 2006
Posts: 398

While searching here, I read this thread. It appears to me as similar problem, but OP didn't pursue the discussion further.
_________________
Regards
Sumit
Back to top
View user's profile Send private message Yahoo Messenger
sumit
PostPosted: Tue Apr 08, 2014 6:51 am    Post subject: Re: Broker timeout and Flow timeout Reply with quote

Partisan

Joined: 19 Jan 2006
Posts: 398

sumit wrote:

1. can we handle these kinds of timeout scenarios...

Looks like we can use timeout terminal at HTTPInput node to catch these kinds of timeout. We are now working on it.
_________________
Regards
Sumit
Back to top
View user's profile Send private message Yahoo Messenger
fatherjack
PostPosted: Tue Apr 08, 2014 6:54 am    Post subject: Re: Broker timeout and Flow timeout Reply with quote

Knight

Joined: 14 Apr 2010
Posts: 522
Location: Craggy Island

If I understand you correctly you have an application that makes an http request that is targeting your WMB message flow. Your application does not get a response within 60 seconds and times out.

sumit wrote:
1. can we handle these kinds of timeout scenarios


That's the responsibility of your application. If you can put some code in it to handle the timeouts, then the answer is yes.

sumit wrote:
2. As the timeout is happening at broker level, flow level trace will not help me capture it. Is there any way to capture the error then?


If you are not seeing anything in your user trace then the http request is probably not getting to your flow. If this is

sumit wrote:
because SYSTEM.BROKER.WS.INPUT is flooded with big messages.


(which I doubt) then there is no error to capture. Yout http message has not been processed yet.

sumit wrote:
3. Surprisingly, we didn't see time timeout info going to syslog. Has anyone else observed this?


What would you expect to see in the syslog? It's your calling application that has timed out.
_________________
Never let the facts get in the way of a good theory.
Back to top
View user's profile Send private message
sumit
PostPosted: Wed Apr 09, 2014 3:34 am    Post subject: Re: Broker timeout and Flow timeout Reply with quote

Partisan

Joined: 19 Jan 2006
Posts: 398

fatherjack wrote:
sumit wrote:
2. As the timeout is happening at broker level, flow level trace will not help me capture it. Is there any way to capture the error then?


If you are not seeing anything in your user trace then the http request is probably not getting to your flow.

The user trace says that flow has placed the message on the SYSTEM.BROKER.WS.REPLY queue. However, application says that the broker has timed out. I think it is because, the flow was able to process properly within the timeout interval defined in the flow input node. Yet the application level timeout has occurred. I am wondering if broker anyway keeps a check of timeout set at application level and sends a timeout response when application timeout value expires. Or is it completely handled at application level?

fatherjack wrote:

sumit wrote:
3. Surprisingly, we didn't see time timeout info going to syslog. Has anyone else observed this?


What would you expect to see in the syslog? It's your calling application that has timed out.

The kind of example flow I gave in original query doesn't fit here. Please refer this flow--

Code:
HTTPInput node --> compute node -->  SOAPRequest Node1 --> Compute node --> SOAPRequest Node2 --> Compute node --> HTTPReply node

Now, we have 2 soap request node calling 2 different webservices.
Timeout set at HTTPInput node - 58 secs
Timeout set at SOAPRequest node1 - 55 secs
Timeout set at SOAPRequest node2 - 55 secs
Timeout set at application calling the flow - 60 secs

(in an ideal design, sum of timeout defined at both the soapRequest node should be less that what is set at HTTPInput node.)

Now, let's say, a big message comes. SOAPRequest Node1 takes 18 secs to process the message. SOAPRequest Node2 takes 45 secs to process the message. As both soap nodes processed message within the set timeout, the message will reach final compute node. Final compute node will process and message and from HTTPReply node, the message will go to SYSTEM.BROKER.WS.REPLY queue. The timeout set at HTTPInput node is 58 secs but flow actually took 63 secs (18+45). Even in this case, user trace at flow level or syslog didn't capture an error. I was expecting that the flow will analyse the timeout before putting message on WS.REPLY queue and if it has timed out, it will throw an error for flow to catch. Looks like this is not how it actually works.
_________________
Regards
Sumit
Back to top
View user's profile Send private message Yahoo Messenger
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » Broker timeout and Flow timeout
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.