ode-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kharche, Jitendra" <Jitendra.Khar...@geometricglobal.com>
Subject RE: SocketTimeoutException in ODE
Date Tue, 18 Mar 2014 09:14:28 GMT
Hi Sathwik,

Thanks for quick reply.

The façade process is request-response. When it receives a request, it invokes the target
process. Each target process replies as soon as it receives a request (before starting its
work) - so there is no blocking in the target process for the façade process. As soon as
the façade receives the reply from the target process it replies back to the client - no
extra processing in the façade process.

>> client side raises the exception since it has not recived the response within the
stiputaled time.
This is obvious. However I am looking for the reasons for this. As I mentioned this happens
rarely - not always and also randomly for any target process - not for any specific target
process.

Hope I am clear.

Regards,
Jitendra

-----Original Message-----
From: Sathwik B P [mailto:sathwik.bp@gmail.com] 
Sent: Tuesday, March 18, 2014 2:28 PM
To: user@ode.apache.org
Subject: Re: SocketTimeoutException in ODE

Hi Jitendra,

Is your facade process exposed as request-response or one-way mep?

In case of request-response mep and if the facade process is a time consuming process, then
you are bound to see read time out exceptions.

Process execution within ODE is asyncronous, and hence the process continues to completion.
But your transport channel on the client side raises the exception since it has not recived
the response within the stiputaled time.

regards,
sathwik


On Tue, Mar 18, 2014 at 1:27 AM, Kharche, Jitendra < Jitendra.Kharche@geometricglobal.com>
wrote:

> Hi,
>
> I am using ODE 1.3.6 on Tomcat 7.0.47 with 11 processes deployed into it.
> On top of these I have a process that acts as a façade so that clients 
> have a single interface to call. The interface of the façade process 
> is a consolidation of interfaces provided by all processes. This 
> façade process then invokes the actual process.
>
> Each process is a long running using explicit correlation.
> Each process has 2 receive activities - first receive starts the 
> process and second receive after receiving a completion reply from the 
> application adapter.
> There is a scheduler to execute processes in scheduled manner. The 
> scheduler invokes the façade process which then invokes the target process.
>
> Randomly (once in 2-3 days for any random process), I get 
> SocketTimeoutException in client (the scheduler) as follows during 
> invocation of the process.
> Sometimes it is also observed that, even though the client got the 
> exception the process started and completed successfully.
>
> What could be the cause?
>
> Thanks in advance.
>
> Exception in client:
>
>
> javax.xml.ws.WebServiceException: Could not send Message.
>
>                 at
> org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:145
> )
>
>                 at com.sun.proxy.$Proxy104.startEmpSync3D(Unknown 
> Source)
>
>                 at
> com.geo.ml.scheduler.jobs.EmpSync3DJob.executeProcess(EmpSync3DJob.jav
> a:115)
>
>                 at
> com.geo.ml.scheduler.jobs.EmpSync3DJob.execute(EmpSync3DJob.java:49)
>
>                 at 
> org.quartz.core.JobRunShell.run(JobRunShell.java:213)
>
>                 at
> org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.ja
> va:557)
>
> Caused by: java.net.SocketTimeoutException: SocketTimeoutException 
> invoking [Façade Process URL]: Read timed out
>
>                 at
> sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
>
>                 at
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructo
> rAccessorImpl.java:57)
>
>                 at
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingCo
> nstructorAccessorImpl.java:45)
>
>                 at
> java.lang.reflect.Constructor.newInstance(Constructor.java:526)
>
>                 at
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.mapExcep
> tion(HTTPConduit.java:1467)
>
>                 at
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HT
> TPConduit.java:1452)
>
>                 at
> org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56
> )
>
>                 at
> org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:659)
>
>                 at
> org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndin
> gInterceptor.handleMessage(MessageSenderInterceptor.java:62)
>
>                 at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseIntercepto
> rChain.java:262)
>
>                 at
> org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:530)
>
>                 at
> org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:463)
>
>                 at
> org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:366)
>
>                 at
> org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:319)
>
>                 at
> org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:96)
>
>                 at
> org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:134
> )
>
>                 ... 5 more
>
> Caused by: java.net.SocketTimeoutException: Read timed out
>
>                 at java.net.SocketInputStream.socketRead0(Native 
> Method)
>
>                 at
> java.net.SocketInputStream.read(SocketInputStream.java:152)
>
>                 at
> java.net.SocketInputStream.read(SocketInputStream.java:122)
>
>                 at
> sun.security.ssl.InputRecord.readFully(InputRecord.java:442)
>
>                 at 
> sun.security.ssl.InputRecord.read(InputRecord.java:480)
>
>                 at
> sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:927)
>
>                 at
> sun.security.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:884)
>
>                 at
> sun.security.ssl.AppInputStream.read(AppInputStream.java:102)
>
>                 at
> java.io.BufferedInputStream.fill(BufferedInputStream.java:235)
>
>                 at
> java.io.BufferedInputStream.read1(BufferedInputStream.java:275)
>
>                 at
> java.io.BufferedInputStream.read(BufferedInputStream.java:334)
>
>                 at
> sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:687)
>
>                 at
> sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:633)
>
>                 at
> sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConn
> ection.java:1323)
>
>                 at
> java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:468)
>
>                 at
> sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(Http
> sURLConnectionImpl.java:338)
>
>                 at
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleRe
> sponseInternal(HTTPConduit.java:1604)
>
>                 at
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleRe
> sponse(HTTPConduit.java:1530)
>
>                 at
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HT
> TPConduit.java:1438)
>
>                 ... 15 more
>
>
> Regards,
> Jitendra
>
>

Mime
View raw message