[Varnish] #806: invalid Content-Length results in hang and then 503

Varnish varnish-bugs at varnish-cache.org
Thu Oct 28 05:47:14 CEST 2010


#806: invalid Content-Length results in hang and then 503
---------------------+------------------------------------------------------
 Reporter:  amorton  |        Type:  defect
   Status:  new      |    Priority:  normal
Milestone:           |   Component:  build 
  Version:  trunk    |    Severity:  normal
 Keywords:           |  
---------------------+------------------------------------------------------
 Hi, I was using Varnish > Nginx > Tornado and there was a bug in Tornado
 that was causing it to sometimes include a non zero content length when
 returning 304 for an unchanged file. As near as I can tell this was
 causing varnish to log and error, then hang until 60 seconds had passed
 where it would return a 503 error code.

 I corrected the bug in tornado and got the expected behavior. I thought
 you may want to know about the timeout.

 Am running varnishd (varnish-2.1.2 SVN 4769:4772)

 Here is an example of the hanging and error...

    15 RxProtocol   - HTTP/1.1
    15 RxStatus     - 304
    15 RxResponse   - Not Modified
    15 RxHeader     - Server: nginx/0.7.67
    15 RxHeader     - Date: Thu, 28 Oct 2010 01:50:33 GMT
    15 RxHeader     - Content-Type: application/x-javascript
    15 RxHeader     - Connection: keep-alive
    15 RxHeader     - Keep-Alive: timeout=20
    15 RxHeader     - Last-Modified: Thu, 28 Oct 2010 11:31:23 GMT
    15 RxHeader     - Content-Length: 163855
    15 RxHeader     - Cache-Control: public
     4 TTL          - 2051465986 RFC 120 1288230633 0 0 0 0
     4 VCL_call     - fetch
     4 VCL_return   - deliver
     4 ObjProtocol  - HTTP/1.1
     4 ObjStatus    - 304
     4 ObjResponse  - Not Modified
     4 ObjHeader    - Server: nginx/0.7.67
     4 ObjHeader    - Date: Thu, 28 Oct 2010 01:50:33 GMT
     4 ObjHeader    - Content-Type: application/x-javascript
     4 ObjHeader    - Keep-Alive: timeout=20
     4 ObjHeader    - Last-Modified: Thu, 28 Oct 2010 11:31:23 GMT
     4 ObjHeader    - Cache-Control: public
     4 FetchError   - straight read_error: 11
    15 BackendClose - jbx_webhead0
     4 VCL_call     - error
     4 VCL_return   - deliver
     4 Length       - 488
     4 VCL_call     - deliver
     4 VCL_return   - deliver
     4 TxProtocol   - HTTP/1.1
     4 TxStatus     - 503
     4 TxResponse   - Service Unavailable
     4 TxHeader     - Server: Varnish
     4 TxHeader     - Retry-After: 0
     4 TxHeader     - Content-Type: text/html; charset=utf-8
     4 TxHeader     - Content-Length: 488
     4 TxHeader     - Date: Thu, 28 Oct 2010 01:51:34 GMT
     4 TxHeader     - X-Varnish: 2051465986
     4 TxHeader     - Age: 61
     4 TxHeader     - Via: 1.1 varnish
     4 TxHeader     - Connection: close
     4 ReqEnd       - 2051465986 1288230633.044901848 1288230694.293493748
 0.000034809 61.248561621 0.000030279
     4 SessionClose - error
     4 StatSess     - 192.168.49.104 40516 61 1 1 0 1 0 236 488


 This is an example of a working request to a different web head through
 the same varnish server...


     5 RxProtocol   - HTTP/1.1
     5 RxStatus     - 304
     5 RxResponse   - Not Modified
     5 RxHeader     - Server: nginx/0.7.67
     5 RxHeader     - Date: Thu, 28 Oct 2010 01:49:41 GMT
     5 RxHeader     - Content-Type: application/x-javascript
     5 RxHeader     - Connection: keep-alive
     5 RxHeader     - Keep-Alive: timeout=20
     5 RxHeader     - Last-Modified: Fri, 08 Oct 2010 11:32:00 GMT
     5 RxHeader     - Content-Length: 0
     5 RxHeader     - Cache-Control: public
     4 TTL          c 2051465985 RFC 120 1288230581 0 0 0 0
     4 VCL_call     c fetch
     4 VCL_return   c deliver
     4 ObjProtocol  c HTTP/1.1
     4 ObjStatus    c 304
     4 ObjResponse  c Not Modified
     4 ObjHeader    c Server: nginx/0.7.67
     4 ObjHeader    c Date: Thu, 28 Oct 2010 01:49:41 GMT
     4 ObjHeader    c Content-Type: application/x-javascript
     4 ObjHeader    c Keep-Alive: timeout=20
     4 ObjHeader    c Last-Modified: Fri, 08 Oct 2010 11:32:00 GMT
     4 ObjHeader    c Cache-Control: public
     5 BackendReuse - jbx_webhead1
     4 Length       c 0
     4 VCL_call     c deliver
     4 VCL_return   c deliver
     4 TxProtocol   c HTTP/1.1
     4 TxStatus     c 304
     4 TxResponse   c Not Modified
     4 TxHeader     c Server: nginx/0.7.67
     4 TxHeader     c Content-Type: application/x-javascript
     4 TxHeader     c Keep-Alive: timeout=20
     4 TxHeader     c Last-Modified: Fri, 08 Oct 2010 11:32:00 GMT
     4 TxHeader     c Cache-Control: public
     4 TxHeader     c Content-Length: 0
     4 TxHeader     c Date: Thu, 28 Oct 2010 01:49:41 GMT
     4 TxHeader     c X-Varnish: 2051465985
     4 TxHeader     c Age: 0
     4 TxHeader     c Via: 1.1 varnish
     4 TxHeader     c Connection: keep-alive
     4 ReqEnd       c 2051465985 1288230581.047450781 1288230581.094709396
 0.000034332 0.047218323 0.000040293

-- 
Ticket URL: <http://www.varnish-cache.org/trac/ticket/806>
Varnish <http://varnish-cache.org/>
The Varnish HTTP Accelerator




More information about the varnish-bugs mailing list