[PATCH] ngx_http_upstream state machine fixes

Piotr Sikora piotr.sikora at frickle.com
Fri Mar 30 12:50:48 UTC 2012


Hi,

> The major question seems to be "what should be done if we've not
> yet sent full request, but already got response"?  Right now line
> is drawn at "if we've got response header, we stop sending
> request".  And if we move the line - we should clearly understand
> where the new line is and why.

While current approach seems acceptable for single request-response 
connections, I'm pretty sure that it can be source of corruption for 
keepalived connections (in case when
backend doesn't read rest of the request after sending response or when 
backend wants to read rest of the request that wasn't completely sent).

I see two possible solutions: either kill connection after such "incomplete" 
request is made or make sure to send whole request even if we receive 
response while doing so.

Opinions?

Best regards,
Piotr Sikora < piotr.sikora at frickle.com >



More information about the nginx-devel mailing list