Mailing List Archive

#405: Varnish problem with purge requests
#405: Varnish problem with purge requests
----------------------+-----------------------------------------------------
Reporter: anders | Owner: phk
Type: defect | Status: new
Priority: high | Milestone:
Component: varnishd | Version: 2.0
Severity: normal | Keywords:
----------------------+-----------------------------------------------------
I use Varnish 2.0.2, in FreeBSD/amd64 7.0-RELEASE.

I use a VCL like the one in
http://varnish.projects.linpro.no/wiki/VCLExamplePurging. It works fine.
But after a hickup on one of my webservers (where it starts to send 404
and bogus content), my Varnish servers (often all of them) switch from
handling PURGE, to forwarding the PURGE requests to my web servers.

Ngrep dump:

{{{
T 32.32.32.241:49548 -> 32.32.33.219:80 [AP]
PURGE / HTTP/1.0
Host: foo.bar.no
Connection: close


####
T 32.32.33.239:80 -> 32.32.33.219:52540 [AS]
.......
PmPF....
##
T 32.32.33.219:52540 -> 32.32.33.239:80 [AP]
PURGE / HTTP/1.0.
Host: foo.bar.no.
X-Varnish: 1526176926.
X-Forwarded-For: 32.32.32.241.
.

#
T 32.32.33.239:80 -> 32.32.33.219:52540 [AFP]
HTTP/1.0 501 Not Supported.
.
<html><body><h2>Not Supported Method</h2><p> </p></body></html>..t: */*.
Referer: http://www.bt.no/.
Accept-Language: no.
UA-CPU: x86.
Accept-Encoding: gzip, deflate.
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR
2.0.50727; .NET CLR 1.1.4322
###
T 32.32.33.219:80 -> 32.32.32.241:49548 [AP]
HTTP/1.0 501 Not Supported.
X-Varnish-IP: 32.32.33.219.
Cache-Control: max-age=1800.
Date: Fri, 12 Dec 2008 10:40:10 GMT.
X-Varnish: 1526176926.
Age: 0.
Via: 1.1 varnish.
Connection: close.
}}}

In that dump, the IPs are:

32.32.32.241 Administrative server that actually sends the PURGE request

32.32.33.219 Cache server (VIP on a load balancer)

32.32.33.239 Web server (VIP on a load balancer)

How can this be? Varnish is supposed to handle PURGE here, Apache is not
supposed to get those requests at all.

Varnishlog from the same event:

{{{
8 ReqStart c 32.32.32.241 49548 1526176926
8 RxRequest c PURGE
8 RxURL c /
8 RxProtocol c HTTP/1.0
8 RxHeader c Host: foo.bar.no
8 RxHeader c Connection: close
8 VCL_call c recv
8 VCL_acl c MATCH aipurge 32.32.32.241/32
8 VCL_return c lookup
8 VCL_call c hash
8 VCL_return c hash
8 HitPass c 1525573757
8 VCL_call c pass
8 VCL_return c pass
9 BackendClose - opnew
9 BackendOpen b opnew 32.32.33.219 52540 32.32.33.239 80
8 Backend c 9 opnew opnew
9 TxRequest b PURGE
9 TxURL b /
9 TxProtocol b HTTP/1.0
9 TxHeader b Host: foo.bar.no
9 TxHeader b X-Varnish: 1526176926
9 TxHeader b X-Forwarded-For: 32.32.32.241
9 RxProtocol b HTTP/1.0
9 RxStatus b 501
9 RxResponse b Not Supported
8 ObjProtocol c HTTP/1.0
8 ObjStatus c 501
8 ObjResponse c Not Supported
9 BackendReuse b opnew
8 TTL c 1526176926 RFC 1800 1229078410 0 0 0 0
8 VCL_call c fetch
8 TTL c 1526176926 VCL 1800 1229078410
8 VCL_return c pass
8 Length c 0
8 VCL_call c deliver
8 VCL_return c deliver
8 TxProtocol c HTTP/1.0
8 TxStatus c 501
8 TxResponse c Not Supported
8 TxHeader c X-Varnish-IP: 32.32.33.219
8 TxHeader c Cache-Control: max-age=1800
8 TxHeader c Date: Fri, 12 Dec 2008 10:40:10 GMT
8 TxHeader c X-Varnish: 1526176926
8 TxHeader c Age: 0
8 TxHeader c Via: 1.1 varnish
8 TxHeader c Connection: close
8 ReqEnd c 1526176926 1229078410.067601204 1229078410.068562508
0.000068188 0.000908375 0.000052929
8 SessionClose c Connection: close
8 StatSess c 32.32.32.241 49548 0 1 1 0 1 1 192 0
}}}

--
Ticket URL: <http://varnish.projects.linpro.no/ticket/405>
Varnish <http://varnish.projects.linpro.no/>
The Varnish HTTP Accelerator
#405: Varnish problem with purge requests [ In reply to ]
#405: Varnish problem with purge requests
----------------------+-----------------------------------------------------
Reporter: anders | Owner: phk
Type: defect | Status: new
Priority: high | Milestone:
Component: varnishd | Version: 2.0
Severity: normal | Resolution:
Keywords: |
----------------------+-----------------------------------------------------
Comment (by anders):

The problem seems to go over by itself after some minutes. No restart
required. But it is still a problem I would like to see fixed. Purge
handling is critical.

--
Ticket URL: <http://varnish.projects.linpro.no/ticket/405#comment:1>
Varnish <http://varnish.projects.linpro.no/>
The Varnish HTTP Accelerator
#405: Varnish problem with purge requests [ In reply to ]
#405: Varnish problem with purge requests
----------------------+-----------------------------------------------------
Reporter: anders | Owner: phk
Type: defect | Status: new
Priority: high | Milestone:
Component: varnishd | Version: 2.0
Severity: normal | Resolution:
Keywords: |
----------------------+-----------------------------------------------------
Comment (by anders):

Checking this problem more closely, I want to comment on a few things:

- it seems to occur against one backend at a time only. I have two purge
checks in my monitoring setups, which checks purge for different backends,
and it's only one of them that fails.

- it can take up to half an hour before the problem goes over by itself.

In any case, I still believe this is a problem with Varnish. It should not
send PURGE requests to the backend at all. I did not post my complete VCL
here because it is getting big and complicated. I'll send it to the
developer that will look at the problem, if necessary.

--
Ticket URL: <http://varnish.projects.linpro.no/ticket/405#comment:2>
Varnish <http://varnish.projects.linpro.no/>
The Varnish HTTP Accelerator
#405: Varnish problem with purge requests [ In reply to ]
#405: Varnish problem with purge requests
----------------------+-----------------------------------------------------
Reporter: anders | Owner: phk
Type: defect | Status: new
Priority: high | Milestone:
Component: varnishd | Version: 2.0
Severity: normal | Resolution:
Keywords: |
----------------------+-----------------------------------------------------
Comment (by anders):

One more thing: I do not use Varnish' load balancing capabilities where
this problem occurs. I do use backends which are load balancing addresses
handled by Nortel hardware based load balancers however.

--
Ticket URL: <http://varnish.projects.linpro.no/ticket/405#comment:3>
Varnish <http://varnish.projects.linpro.no/>
The Varnish HTTP Accelerator
Re: #405: Varnish problem with purge requests [ In reply to ]
#405: Varnish problem with purge requests
----------------------+---------------------
Reporter: anders | Owner: phk
Type: defect | Status: closed
Priority: high | Milestone:
Component: varnishd | Version: 2.0
Severity: normal | Resolution: fixed
Keywords: |
----------------------+---------------------

Comment (by keretamalam):

I am about to leave and cannot look into this further right now, but I do
want to mention that relying on pkg-config itself is not a problem (as you
said, we also use it later), the problem is that on some systems, the .pc
file for pkg-config is supplying wrong information (whereas on yours, it's
botan-config that is wrong), so that's why I'm trying to make it work with
both (while one of them is bad).
[http://maskodoq.blogspot.com/2014/03/unit-link-terbaik-di-indonesia.html
Unit Link Terbaik di Indonesia Commonwealth Life Investra Link]
[http://maskodoq.blogspot.com/2013/07/CiptoJunaedy.html Cipto Junaedy]
[http://etnisjawa.blogspot.com/2013/08/apakah-cipto-junaedy-bohong.html
Cipto Junaedy]

--
Ticket URL: <https://www.varnish-cache.org/trac/ticket/405#comment:7>
Varnish <https://varnish-cache.org/>
The Varnish HTTP Accelerator

_______________________________________________
varnish-bugs mailing list
varnish-bugs@varnish-cache.org
https://www.varnish-cache.org/lists/mailman/listinfo/varnish-bugs
Re: #405: Varnish problem with purge requests [ In reply to ]
#405: Varnish problem with purge requests
----------------------+---------------------
Reporter: anders | Owner: phk
Type: defect | Status: closed
Priority: high | Milestone:
Component: varnishd | Version: 2.0
Severity: normal | Resolution: fixed
Keywords: |
----------------------+---------------------

Comment (by domtheo):

[http://www.dinastipoker.com Agen Domino99] | [http://www.dinastipoker.com
Poker Online Uang Asli] | [http://www.dianastipoker.com Agen Poker]

--
Ticket URL: <https://www.varnish-cache.org/trac/ticket/405#comment:7>
Varnish <https://varnish-cache.org/>
The Varnish HTTP Accelerator

_______________________________________________
varnish-bugs mailing list
varnish-bugs@varnish-cache.org
https://www.varnish-cache.org/lists/mailman/listinfo/varnish-bugs