James, thank you very much.

I suspected IE to be guilty because it was happening only with IE clients.

Chris, I guess we don't need to try and reproduce this anymore now we know the cause?

James Wang wrote:
Hi All,

That's caused by the IE keep-alive bug, Please refer to my previous post :
question : encounter java.net.SocketTimeoutException: Read timed out
occasionally
in below URL :

http://www.nabble.com/question-%3A-encounter-java.net.SocketTimeoutException%3A-Read-timed-out-occasionally-td19326602.html#a19832518


On Thu, Mar 5, 2009 at 6:45 PM, Taylan Develioglu <tdevelio...@ebuddy.com>wrote:

Can the wget clone do this without modification, or do I need to change it?

So basically you're saying:

Send content larger then content-length. Then close the connection, see if
the post request gets processed?

The ajax requests may be done over a seperate connection, but all
subsequent requests use keepalive and are definately done over the same
connection, this is in firefox 3.0.6.
I fired up my network analyzer, to be 100% sure and there are no new
outgoing connections there.

T


Christopher Schultz wrote:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Taylan,

On 3/3/2009 2:07 PM, Taylan Develioglu wrote:


I can reproduce it on demand with our application, but I wouldn't know
how to create a post request that would stall, the servlet can stall the
response, but isn't processing of the request (i.e. fetching post
parameters) done by tomcat?


You would write a client that sets Content-Length, sends half of it, and
then does a sleep for a few seconds, then attempts to send the rest. I
have a Java clone of wget that I could loan you if you wanna play with it.



You might be able to reproduce it as follows:

- Create a http connector with a keepalive timeout of 5s. (apr w/ 10s in
our case, but it happens with NIO as well. Check previous post for our
connector definition)

- Have an ajax app do post requests to servlet A that logs the post
parameters. (javascript/ajax in our case, check previous post for our
http header info)

- See if any post parameters come up empty at servlet A.


I would think that AJAX requests would be sent in separate HTTP
connections, not in a keepalive connection that stays open for a long
time, no?



Note that I almost certainly think this only happens w/ clients that use
IE 6/7.


It's possible/probable that MSIE's Ajax implementation is broken. I'd be
interested to see if there's any difference between HTTP communications
on a well-behaved browser versus MSIE.

- -chris
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkmtutUACgkQ9CaO5/Lv0PDXDgCeNjewNeQRp7zz2svUA9cdAiyb
hBgAn2PJQi6ezQeAjVW2rx5la9g5MTve
=/87l
-----END PGP SIGNATURE-----

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org





---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to