axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Thomas Sandholm <sandh...@mcs.anl.gov>
Subject RE: read timeout
Date Mon, 14 Jul 2003 15:47:46 GMT
I agree with Dug's position here. 0 is the only reasonable default. I 
remember having the same discussion back in the good old CORBA days, and 
learning from that experience and many various customer deployments at the 
time we decided to ship our product with a 0 timeout by default.
Although I agree it is bad practise to keep socket reads dangling for too 
long of a time, there are scenarios for instance including SOAP 
intermediaries that need to do some initialization before dispatching that 
could cause this 60 sec timeout not to make sense at all.
Even though I would vote for putting 0 back as the default I don't mind a 
60sec default if it can be changed easily with JVM/AxisEngine global 
configuration, as opposed to on a per stub basis using APIs.

/Thomas

At 08:53 AM 7/14/2003 -0600, Doug Davis wrote:





>As you indicated, the value you pick will never make everyone happy. The
>best you can hope for is to make sure that there are sufficient APIs such
>that people who use the DIIs, stubbies or whatever can get access to that
>setting easily.  Personally, I think Axis should default to "0" (no
>timeout) because by default I would want the system to be as
>lenient/tolerant as possible - and if someone is running in an environment
>that requires stricter controls they can set it as such - picking any value
>other than zero give preference to whatever machine/environment the axis
>developer who wrote that line of code happens to be using at that moment.
>-Dug
>
>
>Tom Jordahl <tomj@macromedia.com> on 07/14/2003 10:35:55 AM
>
>Please respond to axis-dev@ws.apache.org
>
>To:    "'axis-dev@ws.apache.org'" <axis-dev@ws.apache.org>
>cc:
>Subject:    RE: read timeout
>
>
>
>For the record, I hard coded this default and it wasn't a mistake. :-)  I
>asked for feedback at the time the change was made and I believe I got
>consensus that 60 seconds was reasonable.
>
>http://nagoya.apache.org/bugzilla/show_bug.cgi?id=18277
>
>What would be a better default?  2 minutes?  5 minutes?  10 minutes? (ack!)
>
>Speaking as someone who embeds Axis in a multi-threaded, request serving,
>application server, 60 second timeouts are about all we would tolerate
>unless the user asks for longer.  I understand that my use case may be
>different from non-user interactive, 'background' processing.
>
>--
>Tom Jordahl
>Macromedia Server Development
>
>-----Original Message-----
>From: Doug Davis [mailto:dug@us.ibm.com]
>Sent: Saturday, July 12, 2003 12:39 AM
>To: axis-dev@ws.apache.org
>Subject: Re: read timeout
>
>
>
>
>
>
>Yup - as soon as I sent my note I noticed it in MessageContext too.  I
>agree, it sure seems like a mistake to me.
>-Dug
>
>
>Thomas Sandholm <sandholm@mcs.anl.gov> on 07/12/2003 12:31:03 AM
>
>Please respond to axis-dev@ws.apache.org
>
>To:    axis-dev@ws.apache.org, axis-dev@ws.apache.org
>cc:
>Subject:    Re: read timeout
>
>
>Yes for some reason a 60sec socket read timeout is hardcoded in the
>MessageContext class. I think this is a mistake personally, and it has
>caused our users a lot of problems too. The default timeout should at least
>
>be configurable without having to change the timeout property on every stub
>
>you are calling as the FAQ
>http://nagoya.apache.org/wiki/apachewiki.cgi?AxisProjectPages/JavaTimeout
>explains.
>We ended up writing a handler that allows you to set a system property to
>change the default timeout.
>/Thomas
>At 08:51 PM 7/11/2003 -0600, Doug Davis wrote:
>
>
>
>
>
> >Since Axis 1.1 rc2 something changed that is causing my requests that take
> >a long time (over say 3 minutes) to complete to timeout with:
> >java.io.InterruptedIOException: Read timed out
> >         at java.net.SocketInputStream.socketRead(Native Method)
> >         at java.net.SocketInputStream.read(SocketInputStream.java:113)
> >         at java.io.BufferedInputStream.fill(BufferedInputStream.java:202)
> >         at java.io.BufferedInputStream.read(BufferedInputStream.java:220)
> >         at
> >org.apache.axis.transport.http.HTTPSender.readHeadersFromSocket(HTTPS
> >ender.java:506)
> >         at
> >org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:127)
> >
> >         at
> >com.ibm.wstk.axis.handlers.WSTKHTTPSender.invoke(WSTKHTTPSender.java:
> >37)
> >         at
> >org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrateg...
> >
> >In rc2 the client would wait forever, or at least long enough for me to
> >never have noticed a problem, but now my client requests timeout after
> >about 2 minutes.  In looking thru the code I don't see anything obvious
> >that's changed - does anyone know of anything that was changed that might
> >cause this new behavior?
> >
> >-Dug

Thomas Sandholm <sandholm@mcs.anl.gov>
The Globus Project(tm) <http://www.globus.org>
Ph: 630-252-1682, Fax: 630-252-1997
Argonne National Laboratory


Mime
View raw message