[Varnish] #1635: Completed bans keep accumulating
Varnish
varnish-bugs at varnish-cache.org
Mon Oct 19 10:12:13 CEST 2015
#1635: Completed bans keep accumulating
----------------------+--------------------
Reporter: Sesse | Owner:
Type: defect | Status: new
Priority: normal | Milestone:
Component: varnishd | Version: trunk
Severity: normal | Resolution:
Keywords: lurker |
----------------------+--------------------
Comment (by phk):
"so am I correct in assuming that bans can only be deleted once there are
no older objects in the cache? In which case perhaps the behaviour I'm
observing, and others are observing above, is expected? "
Its slightly more complicated.
We can only delete a ban after all *older* cached objects have been tested
against it.
If the ban contains any "req.*" tests, that can only happen when somebody
gets a cache-hit on that object.
If the ban is composed entirely of "obj.*" tests, the ban-lurker should be
able to "wash" it against all the cached objects (slowly, over time) and
the ban will be marked 'completed', the capital 'C' you see in the output.
However, because of the way we lock the ban-list, we cannot actually
remove the completed ban from the list if it is somewhere in the middle,
we can only delete the last ban on the list.
So if the last ban is using req.* and stuck until either the objects that
hasn't been checked yet expire or get a cache-hit, you can see a lot of
these 'Completed' bans accumulate in the list.
This is not optimal, but we havn't found a performance-cheap way of
solving this issue.
--
Ticket URL: <https://www.varnish-cache.org/trac/ticket/1635#comment:10>
Varnish <https://varnish-cache.org/>
The Varnish HTTP Accelerator
More information about the varnish-bugs
mailing list