Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[jetty-users] request.available() == 0 in Servlet implementation

Hi all,

Over the past few days, I have been fighting with the following issue. The scenario revolves around a Jetty 9.2.7 based application, in which a request gets POSTed to a servlet. The HTTP payload in the request is to be consumed. 

The servlet implementation overrides doPost(HttpServletRequest request, HttpServletResponse response). We experience that request.available() returns zero in this implementation (which causes problems when trying to consume the HTTP payload using the InputStream from the request). This happens with some frequency (approximately once in every 50 requests).

The work-around that we have in place: invoke Thread.sleep(100) when request.available() returns zero. This works, but is an undesirable solution.

The efforts to reproduce the problem in a more compact code-base than the elaborate servlet and client implementations in our products have not been successful.

I am looking for thoughts on the cause of this issue, suggestions for fixes, and/or approaches to create a portable reproduction path. Any help is much appreciated!



Back to the top