Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [jetty-users] response.getOutputStream().write() hangs forever if client doesn't consume the response

8.1.0.RC1 and RC2 are very early codebases, there's been a staggering number of commits between 8.1.0.RC1 and 8.1.16.v20140903

https://github.com/eclipse/jetty.project/compare/jetty-8.1.0.RC1...jetty-8.1.16.v20140903

Will be difficult to isolate what's changed since then.

Just for completeness sake ...
What OS are you testing on?
What JVM are you using?
What is your server side Connector configuration?

Also, consider upgrading, as Jetty 8.x is due for EOL in about 1 month.
https://dev.eclipse.org/mhonarc/lists/jetty-announce/msg00069.html



--
Joakim Erdfelt <joakim@xxxxxxxxxxx>
Expert advice, services and support from from the Jetty & CometD experts

On Wed, Nov 26, 2014 at 12:33 PM, Benjamin Jaton <benjamin.jaton@xxxxxxxxx> wrote:
Hello,

I am creating a simple embedded Jetty server:
  http://pastie.org/9745330

The client is using Apache HttpClient. It doesn't consume the response and exits right after the execute():
  HttpClient client = new DefaultHttpClient();
  HttpGet get = new HttpGet("http://localhost:8080/");
  HttpResponse response = client.execute(get);

Using 8.1.16.v20140903:
If I use response.getOutputStream().write(data), the write() hangs forever and the doGet() method never completes (more than 15 hours).
Now if I use response.getWriter().write(data), the write returns right away (with checkErrors = true).

I am wondering if the OutputStream should not have the same behaviour as the Writer. The Writer seems to have the information about the client being gone, but the OutputStream has no clue and stays stuck.

Interestingly, in version 8.1.0.RC1, the Writer hangs in that scenario as well, and in version 8.1.0.RC2 it returns.
I couldn't find the changelog for RC2 but that change should be applied for the OutputStream as well.

With such a behaviour, it's easy to bring the server to a DOS since the server never releases the resources for that request.

Any idea about this?
I wanted to reach out before opening a BugZilla.

Thanks,
Benjamin

_______________________________________________
jetty-users mailing list
jetty-users@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/jetty-users


Back to the top