1

My understanding so far is Jetty 8(server) is based on servlet 3.0 which supports asynchronous processing but the socket IO is still blocking. So if there is a slow client processing a large response 10s of MB of size then its possible that the server thread writing the response might be in a WAIT state till the client has fully read the response even though the server can process the response much faster than the client.

Is there a work around in Jetty 8 to get past blocking socket IO

Joakim Erdfelt
  • 46,896
  • 7
  • 86
  • 136
Bukhtawar
  • 85
  • 10
  • 1
    [Jetty 8 is EOL (End of Life) as of November 2014](https://www.eclipse.org/jetty/documentation/current/what-jetty-version.html) - Consider upgrading. You'll even get access to Servlet 3.1 (with Async I/O), Servlet 4.0, and even Servlet 5.0 (now on Jakarta EE). – Joakim Erdfelt Jun 07 '20 at 12:00
  • Is my understanding of blocking IO in Jetty 8 correct @joakim – Bukhtawar Jun 07 '20 at 18:35
  • 1
    Don't know. The entire IO layer was thrown out and rewritten when Jetty 9 was created, and we've been operating on that new layer exclusively for 8 years now (since mid 2012). There isn't even a blocking IO layer in Jetty 9. It just doesn't exist anymore. Any knowledge about the old EOL version is long ago lost, even by the developers themselves. – Joakim Erdfelt Jun 08 '20 at 13:50
  • I found this [commit](https://github.com/eclipse/jetty.project/commit/6f8ed5e809c9be94a4e5773373e4ade9a2f04dcf) which turned around thing for channel IO from blocking to non-blocking. Its tagged to Jetty 9 so I believe this was where the switch happened. – Bukhtawar Jun 08 '20 at 15:17
  • 1
    That's for Servlet 3.1, which Jetty 8 does not support. Jetty 9 is for Servlet 3.1. (Jetty 10 is for Servlet 4.0, and Jetty 11 is for Servlet 5.0) – Joakim Erdfelt Jun 08 '20 at 17:47

0 Answers0