https://issues.apache.org/bugzilla/show_bug.cgi?id=55939
Mark Thomas <ma...@apache.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |FIXED
                 OS|                            |All

--- Comment #1 from Mark Thomas <ma...@apache.org> ---
Thanks for the test case. I've figured out what was going wrong and fixed it in
trunk.

The test case is such that occasionally a request will fail. This happens when
- for some reason (e.g. a GC pause) - the client stops reading for more than to
100ms timeout or doesn't start reading the response for more than 100ms.

Because the test case does regularly fail, I have not added it to the unit
tests (now the issue is understood it should be possible to write a test case
that checks this problem and always passes if and only if the problem is
fixed).

The problem was that some of the flags used to handle non-blocking IO were not
reset between requests. Once a request failed, all subsequent requests that
used the same response object would also fail because the flags were set to
indicate that the socket was registered for write with the Poller when that was
not the case.

This has been fixed in r1554298.

With the fix in place I still see occasional failures but I only see single
failures rather than all subsequent requests failing.

-- 
You are receiving this mail because:
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to