[Varnish] #495: HTTP/1.0 or 'Connection: closed' backend race condition
Varnish
varnish-bugs at projects.linpro.no
Fri Apr 24 00:21:21 CEST 2009
#495: HTTP/1.0 or 'Connection: closed' backend race condition
-------------------+--------------------------------------------------------
Reporter: cra | Type: defect
Status: new | Priority: normal
Milestone: | Component: build
Version: trunk | Severity: normal
Keywords: |
-------------------+--------------------------------------------------------
When Varnish talks to a backend that uses HTTP/1.0 (no connection keep-
alives) it relies on the backend to close the connection.
Similarly when Varnish sends the 'Connection: closed' header to the
backend it only waits for the backend to close the connection.
In both cases while the connection to the backend is still open Varnish
may try to reuse it.
If the reuse happens it will most likely result in a 503 error to the
client (depending on how the backend server handles it, I guess).
Varnish should be smart enough to not try to reuse a connection that by
RFC standards will be closed, and/or there should be way to configure
Varnish to not reuse backend connections.
The suggested [http://varnish.projects.linpro.no/wiki/VCLExamplePipe pipe
backend fix] and [http://varnish.projects.linpro.no/ticket/451 related
ticket] are relevant to this bug.
--
Ticket URL: <http://varnish.projects.linpro.no/ticket/495>
Varnish <http://varnish.projects.linpro.no/>
The Varnish HTTP Accelerator
More information about the varnish-bugs
mailing list