Author |
Message
|
mqxplorer |
Posted: Fri Jan 13, 2012 6:52 am Post subject: java.io.IOException: Stream closed due to HTTPConnector time |
|
|
 Master
Joined: 22 Jun 2009 Posts: 206
|
Hi All,
This question may look like a very basic thing, however, I am bit confuesd with this exception as flow we have is just a passthrough service.
The exception I got is:
Code: |
Jan 12 21:42:35 XXXX WebSphere Broker v7001[9665]: (PRDBRK01.AVCDF)[20]BIP2232E: Error detected whilst handling a previous error in node 'Interface.MF_Flow.SOAP Reply'. : PRDBRK01.c4f1702a-2401-0000-0080-eb45db1a1a44: /cmvc/mqsi/output/S700/amd64_linux_2/S700-FP01_P/src/DataFlowEngine/ImbDataFlowNode.cpp: 885: ImbDataFlowNode::logExceptionList: ComIbmSOAPReplyNode: Interface/MF_Flow#FCMComposite_1_17
Jan 12 21:42:35 XXXX WebSphere Broker v7001[9665]: (PRDBRK01.AVCDF)[20]BIP3752E: The SOAP Reply node 'Interface.MF_Flow.SOAP Reply' encountered an error while processing a reply message. : PRDBRK01.c4f1702a-2401-0000-0080-eb45db1a1a44: /build/S700_P/src/WebServices/WSLibrary/ImbSOAPReplyNode.cpp: 316: ImbSOAPReplyNode::evaluate: ComIbmSOAPReplyNode: Interface/MF_Flow#FCMComposite_1_17
Jan 12 21:42:35 XXXX WebSphere Broker v7001[9665]: (PRDBRK01.AVCDF)[20]BIP3701E: A Java exception was thrown whilst calling the Java JNI method 'Axis2Invoker_sendReplyDataSoap'. The Java exception was 'java.io.IOException: Stream closed due to HTTPConnector timeout'. The Java stack trace was 'Frame : 0 java.io.IOException: Stream closed due to HTTPConnector timeout| @: com.ibm.broker.inlinehttp.tomcatthreadpool.InlineHTTPOutputStream.write(InlineHTTPOutputStream.java:227)| @: com.ibm.broker.inlinehttp.tomcatthreadpool.WMBOutboundHTTPTransport.writeOutputMessageBody(WMBOutboundHTTPTransport.java:290)| @: com.ibm.broker.axis2.Axis2Invoker.sendReplyInternalNotThroughPipeline(Axis2Invoker.java:1221)| @: com.ibm.broker.axis2.Axis2Invoker.sendReplyDataSoap(Axis2Invoker.java:794)| @: com.ibm.broker.plugin.MbOutputTerminal._propagate(Native Method)| @: com.ibm.broker.plugin.MbOutputTerminal.propagate(MbOutputTerminal.java:107)| @: com.ibm.sr.mb.nodes.SRRetrieveITServiceNode.evaluate(SRRetrieveITServiceNode.jav |
My flow is very simple.. It is just a simple passthrough flow. It gets a web service request and calls another web service which makes some database calls and returns the response. The time out I have on my SOAPRequest node is 120 seconds and on the SOAPInput node, it is 180 seconds. The back end service is returing the response in time .. it is not tiing out. After receiving the response from the back end the flow does not do anything, it just passes the response back to the client application. Logically, even if the back end responds exactly at the 119th second, there is still 60 more seonds time for the reply to send back to the client. The flow does not do any transformation or other action(s) after receiving the response from the back end. This means the flow should not time out at reply node. I am really confused what conclusion I should come on to for this kind of timeout. It does not even complain about SOAP Reply Identifier. As this is PROD exception and I need to give an explanation to management and fix the issue as soon as possible if it happens again, could someone help me understand the reason for this kind of exception...??
Thanks in advance
Thanks
mqxplorer |
|
Back to top |
|
 |
fjb_saper |
Posted: Fri Jan 13, 2012 10:15 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Looks like the requester is gone before you can supply the response...
Are you sure the requester is using a request/reply model and not a fire and forget?  _________________ MQ & Broker admin |
|
Back to top |
|
 |
Esa |
Posted: Fri Jan 13, 2012 10:41 am Post subject: Re: java.io.IOException: Stream closed due to HTTPConnector |
|
|
 Grand Master
Joined: 22 May 2008 Posts: 1387 Location: Finland
|
mqxplorer wrote: |
Hi All,
This question may look like a very basic thing |
You may just have forgotten another very basic thing. If you have a lot of traffic and this happens only occasionally (something you didn't tell in your post), I would first check if you have allowed any additional instances of the flow. It may have a certain effect as everything you do in your flow is synchronous... |
|
Back to top |
|
 |
mqxplorer |
Posted: Fri Jan 13, 2012 12:18 pm Post subject: Re: java.io.IOException: Stream closed due to HTTPConnector |
|
|
 Master
Joined: 22 Jun 2009 Posts: 206
|
Esa wrote: |
mqxplorer wrote: |
Hi All,
This question may look like a very basic thing |
You may just have forgotten another very basic thing. If you have a lot of traffic and this happens only occasionally (something you didn't tell in your post), I would first check if you have allowed any additional instances of the flow. It may have a certain effect as everything you do in your flow is synchronous... |
You are right.. I forgot the other basic thing which you reminded... I do not have additional instances of the flow running. This explains why this happens only occassionally... only when the traffic is a huge traffic.... I have now asked our admins to increase the additional instances.
Thanks a lot for the clarification.
Thanks
mqxplorer |
|
Back to top |
|
 |
ak1977 |
Posted: Thu Apr 19, 2012 3:06 pm Post subject: |
|
|
Newbie
Joined: 19 Apr 2012 Posts: 1
|
Hi Guys, I am facing the same problem in our performance testing environment and we do have additional instances set up to very high value and we have both fire and forget and response/reply action in same flow.. |
|
Back to top |
|
 |
Esa |
Posted: Thu Apr 19, 2012 10:36 pm Post subject: |
|
|
 Grand Master
Joined: 22 May 2008 Posts: 1387 Location: Finland
|
I guess your performace test is just exhausting the backend... |
|
Back to top |
|
 |
|