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 <[EMAIL PROTECTED]> on 07/14/2003 10:35:55 AM


Please respond to [EMAIL PROTECTED]

To:    "'[EMAIL PROTECTED]'" <[EMAIL PROTECTED]>
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:[EMAIL PROTECTED]
Sent: Saturday, July 12, 2003 12:39 AM
To: [EMAIL PROTECTED]
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 <[EMAIL PROTECTED]> on 07/12/2003 12:31:03 AM


Please respond to [EMAIL PROTECTED]

To:    [EMAIL PROTECTED], [EMAIL PROTECTED]
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 <[EMAIL PROTECTED]> The Globus Project(tm) <http://www.globus.org> Ph: 630-252-1682, Fax: 630-252-1997 Argonne National Laboratory



Reply via email to