Details
-
Type:
Bug
-
Status:
Resolved
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: 6.1.25
-
Fix Version/s: None
-
Component/s: Client
-
Labels:None
-
Environment:Mac OS X 10.6.4 / x64 / java 1.6.0_22; vm version: 17.1-b03-307
-
Number of attachments :
Description
Dus to an error in our HTTP server, it responded with two times the same response to an HTTP request from the Jetty client. The client will log the following warning:
"Unexpected data received but no request sent"
After a number of requests, the client could not send any requests to the server anymore until it was restarted.
Analysis showed that the handling of the "unexpected data" closes the HttpConnection (line 170 of HttpConnection.java) but it does not tell the HttpDestination that it is closed. The HttpDestination still thinks this connection is in use and will open a new connection for the next request. This will continue until the maximum number of connections per destination is reached (default 32) and new requests to this destination will be queued and are never sent.
I don't understand the code well enough to deliver a patch, but I suspect we should be calling _destination.returnConnection().