Still collecting benchmarks, so that will eventually be released.
But the vast majority of failures outside of jetty were from bad threading/async code.
Simple Example:
Client wants to use a CountdownLatch to know when the response was received in an NIO sense.
The bad client code
[client thread]
initiate request
setup countdown latch
on response, countdown the latch
wait for latch
process response
The response from jetty would arrive before the setup of the countdown latch.
Simple fix on the client side code:
[client thread]
setup countdown latch
on response, countdown the latch
initiate request
wait for latch
process response
This is a surprisingly common pattern (race condition) seen in client code.
With jetty 9's improved performance we started to tickle this bad client threading in a sudden way, with several clients that never historically had problems with Jetty 7/8, even on the same machine/hardware/jvm.
This was a surprising result of our debugging sessions helping other projects upgrade to Jetty 9.1.