PQ70895; 4.0.4, 4.0.5: POST data read after
IOTimeout
Downloadable files
Abstract
Web container attempts to read POST data after
IOTimeout
Download Description
PQ70895 resolves the following problem:
USERS AFFECTED:
WebSphere® Application Server users experiencing connection time-outs when
servicing HTTP Requests.
PROBLEM DESCRIPTION:
WebSphere outputs an error message to the logs indicating a connection
time-out in attempting to read POST data sent from a client. At the end of
a POST request, WebSphere attempts to read from the client any remaining
POST data that was sent by the client. If an IOException occurs during the
reading of the POST data (when parsing the original POST data), WebSphere
should not attempt to read the POST data again since the client socket is
no longer accessible to read data from. When an IO occurs when reading in
POST data, WebSphere will attempt to read the post data a second time when
finishing the connection.
PROBLEM CONCLUSION:
The code was modified to limit the possibility of this IOException from
occurring. WebSphere will now track if an IOException occurs when reading
in the original POST data and not try to read from the socket when this
occurs.
Another possible circumvention for this problem is to change the
keep-alive timeout. (i.e. increasing the default value).
Each system is unique and has different optimum parameter settings. These
are reasonable values for Web Container HTTP transport settings:
MinThreadSize = MaxThreadSize = 50 (defaults are 25 and 50)
KeepAlive Timeout = 10 - 60 (default is 5)
I/O Timeout = 10 - 60 (default is 5)
Do not enable thread allocation beyond maximum (increase MinThreadSize and
MaxThreadSize if needed)
General recommendation is to set I/O and KeepAlive timeout to the same or
lower values as their corresponding parameters in Web server, such as
Timeout and KeepAliveTimeout in IHS or Apache. Results of performance
tests should show optimum parameters for HTTP transport of the Servlet
Engine.
NOTES:
This interim fix should be applied to WebSphere Application Server
system.
Prerequisites
None
Installation instructions
Please review the readme for detailed installation instructions.