Monday, September 28, 2009

There was this weird error in a testing environment in which the connection on the client end got reset most of the time, but not all of the time, for one case, and no others. The server end was not seeing anything. I don't know how long it was being investigated before someone came to me with it. I figured the load balancer was misconfigured.

Why was it happening for this one particular case and no others? The one case was the only one using HTTP DELETE. Everything else was HTTP GET or HTTP POST. So I poked around a little with telnet, and, sure enough, HTTP DELETE caused the connection to be reset.

Why did it sometimes succeed without the connection being reset? If the HTTP DELETE was issued on a reused connection that was originally used for an HTTP GET or HTTP POST and was still around due to keep-alive, the load balancer wouldn't recognize it and kick out the connection.

No comments:

Post a Comment