[Varnish] #278: Varnish at some point can't handle a spesific URL
Varnish
varnish-bugs at projects.linpro.no
Mon Jul 21 22:11:00 CEST 2008
#278: Varnish at some point can't handle a spesific URL
----------------------+-----------------------------------------------------
Reporter: ay | Owner: phk
Type: defect | Status: new
Priority: normal | Milestone: Varnish 2.0 code complete
Component: varnishd | Version: trunk
Severity: major | Resolution:
Keywords: PURGE |
----------------------+-----------------------------------------------------
Old description:
> Sometime varnish won't handle a specific URL. After a restart. Everything
> is back to normal. This happens quite often, and usually with with a
> specific URL.
>
> This works: (talking to backend)
> [root at fritz ~]# echo -e "GET /sport/fotball/
> HTTP/1.0\nHost:www.vg.no\n\n" | nc 10.0.0.151 80 |head -1
> HTTP/1.1 200 OK
>
> This works: (talking to backend)
> [root at fritz ~]# echo -e "GET /sport/fotball
> HTTP/1.0\nHost:www.vg.no\n\n" | nc 10.0.0.151 80 |head -1
> HTTP/1.1 301 Moved Permanently
>
> This works: (talking to varnish on localhost)
> [root at fritz ~]# echo -e "GET /sport/fotball
> HTTP/1.0\nHost:www.vg.no\n\n" | nc localhost 80 |head -1
> HTTP/1.1 301 Moved Permanently
>
> This does not work at the moment on one of the varnishes:
>
> [root at fritz ~]# echo -e "GET /sport/fotball/
> HTTP/1.0\nHost:www.vg.no\n\n" | nc localhost 80 |head -1
>
> It just hangs forever. ( waited up to 10 minutes )
>
> Running on another varnish it works
>
> [root at maddie ~]# echo -e "GET /sport/fotball/
> HTTP/1.0\nHost:www.vg.no\n\n" | nc localhost 80 |head -1
> HTTP/1.1 200 OK
>
> Same varnish, same vcl
>
> Varnishlog on the working varnish
>
> 2315 ReqStart c 127.0.0.1 51162 512297753
> 2315 RxRequest c GET
> 2315 RxURL c /sport/fotball/
> 2315 RxProtocol c HTTP/1.0
> 2315 RxHeader c Host:www.vg.no
> 2315 VCL_call c recv lookup
> 2315 VCL_call c hash hash
> 2315 Hit c 510694686
> 2315 VCL_call c hit deliver
> 2315 Length c 158261
> 2315 VCL_call c deliver deliver
> 2315 TxProtocol c HTTP/1.1
> 2315 TxStatus c 200
> 2315 TxResponse c OK
> 2315 TxHeader c Server: Apache/1.3.27 (Unix)
> 2315 TxHeader c X-VG-WebServer: leonora, leonora
> 2315 TxHeader c Cache-Control: max-age=3600
> 2315 TxHeader c Expires: Mon, 21 Jul 2008 14:49:42 GMT
> 2315 TxHeader c Content-Type: text/html
> 2315 TxHeader c Content-Length: 158261
> 2315 TxHeader c X-VG-WebCache: maddie
> 2315 TxHeader c Date: Mon, 21 Jul 2008 14:03:24 GMT
> 2315 TxHeader c X-Varnish: 512297753 510694686
> 2315 TxHeader c Age: 822
> 2315 TxHeader c Via: 1.1 varnish
> 2315 TxHeader c Connection: close
> 2315 ReqEnd c 512297753 1216649004.307805061 1216649004.308098078
> 0.00003
> 0994 0.000028849 0.000264168
>
> The non working
>
> 38070 SessionOpen c 127.0.0.1 56364 :80
> 38070 ReqStart c 127.0.0.1 56364 3818273786
> 38070 RxRequest c GET
> 38070 RxURL c /sport/fotball/
> 38070 RxProtocol c HTTP/1.0
> 38070 RxHeader c Host:www.vg.no
> 38070 VCL_call c recv lookup
> 38070 VCL_call c hash hash
>
> Then nothing happens. No miss no hit
>
> Purge working version (hit)
>
> 3461 RxRequest c PURGE
> 3461 RxURL c /sport/fotball/
> 3461 RxProtocol c HTTP/1.0
> 3461 RxHeader c Host:www.vg.no
> 3461 VCL_call c recv
> 3461 VCL_acl c MATCH purge "localhost"
> 3461 VCL_return c lookup
> 3461 VCL_call c hash hash
> 3461 Hit c 510694686
> 3461 VCL_call c hit
> 3461 TTL c 510694686 VCL 0 1216649372
> 3461 VCL_return c error
> 3461 SessionClose c error returned
> 3461 TxProtocol c HTTP/1.0
> 3461 TxStatus c 200
> 3461 TxResponse c OK
> 3461 TxHeader c Date: Mon, 21 Jul 2008 14:09:32 GMT
> 3461 TxHeader c Server: Varnish
> 3461 TxHeader c Retry-After: 0
> 3461 TxHeader c Content-Type: text/html; charset=utf-8
> 3461 TxHeader c X-Varnish: 513000671
> 3461 TxHeader c Connection: close
> 3461 ReqEnd c 513000671 1216649372.271184921 1216649372.271277905
> 0.00005
> 1975 nan nan
>
> Pruge Working version (miss)
> 5750 RxRequest c PURGE
> 5750 RxURL c /sport/fotball/
> 5750 RxProtocol c HTTP/1.0
> 5750 RxHeader c Host:www.vg.no
> 5750 VCL_call c recv
> 5750 VCL_acl c MATCH purge "localhost"
> 5750 VCL_return c lookup
> 5750 VCL_call c hash hash
> 5750 VCL_call c miss error
> 5750 SessionClose c error returned
> 5750 TxProtocol c HTTP/1.0
> 5750 TxStatus c 404
> 5750 TxResponse c Not Found
> 5750 TxHeader c Date: Mon, 21 Jul 2008 14:10:49 GMT
> 5750 TxHeader c Server: Varnish
> 5750 TxHeader c Retry-After: 0
> 5750 TxHeader c Content-Type: text/html; charset=utf-8
> 5750 TxHeader c X-Varnish: 513145422
> 5750 TxHeader c Connection: close
> 5750 ReqEnd c 513145422 1216649449.873359919 1216649449.873445988
> 0.00004
> 6968 nan nan
>
>
> Purge non working version:
>
> 36848 RxRequest c PURGE
> 36848 RxURL c /sport/fotball/
> 36848 RxProtocol c HTTP/1.0
> 36848 RxHeader c Host:www.vg.no
> 36848 VCL_call c recv
> 36848 VCL_acl c MATCH purge "localhost"
> 36848 VCL_return c lookup
> 36848 VCL_call c hash hash
>
> varnish-2.0-trunk2914 on redhat 5.2
New description:
Sometime varnish won't handle a specific URL. After a restart. Everything
is back to normal. This happens quite often, and usually with with a
specific URL.
{{{
This works: (talking to backend)
[root at fritz ~]# echo -e "GET /sport/fotball/
HTTP/1.0\nHost:www.vg.no\n\n" | nc 10.0.0.151 80 |head -1
HTTP/1.1 200 OK
This works: (talking to backend)
[root at fritz ~]# echo -e "GET /sport/fotball
HTTP/1.0\nHost:www.vg.no\n\n" | nc 10.0.0.151 80 |head -1
HTTP/1.1 301 Moved Permanently
This works: (talking to varnish on localhost)
[root at fritz ~]# echo -e "GET /sport/fotball
HTTP/1.0\nHost:www.vg.no\n\n" | nc localhost 80 |head -1
HTTP/1.1 301 Moved Permanently
This does not work at the moment on one of the varnishes:
[root at fritz ~]# echo -e "GET /sport/fotball/
HTTP/1.0\nHost:www.vg.no\n\n" | nc localhost 80 |head -1
It just hangs forever. ( waited up to 10 minutes )
Running on another varnish it works
[root at maddie ~]# echo -e "GET /sport/fotball/
HTTP/1.0\nHost:www.vg.no\n\n" | nc localhost 80 |head -1
HTTP/1.1 200 OK
Same varnish, same vcl
Varnishlog on the working varnish
2315 ReqStart c 127.0.0.1 51162 512297753
2315 RxRequest c GET
2315 RxURL c /sport/fotball/
2315 RxProtocol c HTTP/1.0
2315 RxHeader c Host:www.vg.no
2315 VCL_call c recv lookup
2315 VCL_call c hash hash
2315 Hit c 510694686
2315 VCL_call c hit deliver
2315 Length c 158261
2315 VCL_call c deliver deliver
2315 TxProtocol c HTTP/1.1
2315 TxStatus c 200
2315 TxResponse c OK
2315 TxHeader c Server: Apache/1.3.27 (Unix)
2315 TxHeader c X-VG-WebServer: leonora, leonora
2315 TxHeader c Cache-Control: max-age=3600
2315 TxHeader c Expires: Mon, 21 Jul 2008 14:49:42 GMT
2315 TxHeader c Content-Type: text/html
2315 TxHeader c Content-Length: 158261
2315 TxHeader c X-VG-WebCache: maddie
2315 TxHeader c Date: Mon, 21 Jul 2008 14:03:24 GMT
2315 TxHeader c X-Varnish: 512297753 510694686
2315 TxHeader c Age: 822
2315 TxHeader c Via: 1.1 varnish
2315 TxHeader c Connection: close
2315 ReqEnd c 512297753 1216649004.307805061 1216649004.308098078
0.00003
0994 0.000028849 0.000264168
The non working
38070 SessionOpen c 127.0.0.1 56364 :80
38070 ReqStart c 127.0.0.1 56364 3818273786
38070 RxRequest c GET
38070 RxURL c /sport/fotball/
38070 RxProtocol c HTTP/1.0
38070 RxHeader c Host:www.vg.no
38070 VCL_call c recv lookup
38070 VCL_call c hash hash
Then nothing happens. No miss no hit
Purge working version (hit)
3461 RxRequest c PURGE
3461 RxURL c /sport/fotball/
3461 RxProtocol c HTTP/1.0
3461 RxHeader c Host:www.vg.no
3461 VCL_call c recv
3461 VCL_acl c MATCH purge "localhost"
3461 VCL_return c lookup
3461 VCL_call c hash hash
3461 Hit c 510694686
3461 VCL_call c hit
3461 TTL c 510694686 VCL 0 1216649372
3461 VCL_return c error
3461 SessionClose c error returned
3461 TxProtocol c HTTP/1.0
3461 TxStatus c 200
3461 TxResponse c OK
3461 TxHeader c Date: Mon, 21 Jul 2008 14:09:32 GMT
3461 TxHeader c Server: Varnish
3461 TxHeader c Retry-After: 0
3461 TxHeader c Content-Type: text/html; charset=utf-8
3461 TxHeader c X-Varnish: 513000671
3461 TxHeader c Connection: close
3461 ReqEnd c 513000671 1216649372.271184921 1216649372.271277905
0.00005
1975 nan nan
Pruge Working version (miss)
5750 RxRequest c PURGE
5750 RxURL c /sport/fotball/
5750 RxProtocol c HTTP/1.0
5750 RxHeader c Host:www.vg.no
5750 VCL_call c recv
5750 VCL_acl c MATCH purge "localhost"
5750 VCL_return c lookup
5750 VCL_call c hash hash
5750 VCL_call c miss error
5750 SessionClose c error returned
5750 TxProtocol c HTTP/1.0
5750 TxStatus c 404
5750 TxResponse c Not Found
5750 TxHeader c Date: Mon, 21 Jul 2008 14:10:49 GMT
5750 TxHeader c Server: Varnish
5750 TxHeader c Retry-After: 0
5750 TxHeader c Content-Type: text/html; charset=utf-8
5750 TxHeader c X-Varnish: 513145422
5750 TxHeader c Connection: close
5750 ReqEnd c 513145422 1216649449.873359919 1216649449.873445988
0.00004
6968 nan nan
Purge non working version:
36848 RxRequest c PURGE
36848 RxURL c /sport/fotball/
36848 RxProtocol c HTTP/1.0
36848 RxHeader c Host:www.vg.no
36848 VCL_call c recv
36848 VCL_acl c MATCH purge "localhost"
36848 VCL_return c lookup
36848 VCL_call c hash hash
varnish-2.0-trunk2914 on redhat 5.2
}}}
--
Ticket URL: <http://varnish.projects.linpro.no/ticket/278#comment:1>
Varnish <http://varnish.projects.linpro.no/>
The Varnish HTTP Accelerator
More information about the varnish-bugs
mailing list