Hi All,
In the following code, pushServlet is a servlet that consumes data sent to
it with an upper limit specified by the "mb" parameter.
RandomDataInputStream is an InputStream generates some random data with an
upper limit. If acceptMB < sendMB, then httpclient stops sending data,
servlet stop receiving and sends response code 200 to http client. If
acceptMB > sendMB, then although the servlet stops accepting data and its
thread exits cleanly, the http client does not stop. It remains stuck at
executeMethod(). Further, it seems to retry sending data to pushServlet
again but no data is actually received there.

Http client code: -
http://rafb.net/p/GVNMxd61.html

Push servelet code: -
http://rafb.net/p/RrXrOx81.html

RandomDataInputSteram code: -
http://rafb.net/p/wNA9HN92.html


There is no retry handler specified here. Specifying a retry handler that
disallows a retry does not work either. Is this a bug? If the receving end
has stopped accepting data and sent the repsonse code, http cleint should
return from the executeMethod() method.

Thanks,
Santosh.

Reply via email to