<div dir="ltr">I think this sounds great!. As this change became a blocker for my current project, I ended up implementing the change. Patch sent to the -dev list.<div><br></div><div>In my patch I didn't implement any additional oc->method() for the exp changes, AFAICS the existing updatemeta() function suffices.</div>
<div><br></div><div>Martin</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On 6 May 2014 23:45, Poul-Henning Kamp <span dir="ltr"><<a href="mailto:phk@phk.freebsd.dk" target="_blank">phk@phk.freebsd.dk</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
I'm starting to think about 4.1 and one of the first things that<br>
pop up is the "softbans" and the purge ticket in #1139<br>
<br>
I also noticed that we forgot to move the "purge" direct<br>
action (ie: from vcl_hit{}) in 4.0 to VMOD.std.<br>
<br>
Today a ban basically expires anything which it hits, but in<br>
general that doesn't have to be the case, the ban mechanism<br>
could be used to do any useful thing to the set of matching<br>
objects, for instance extend the grace period by 10 minutes.<br>
<br>
That's basically what "softbans" covers, the abilit to do something<br>
like:<br>
        ban -grace +10m req.url ~ [.]jpeg$<br>
<br>
There are outstanding design issues with respect to specifying<br>
the arguments, because of the "delayed action", those need to<br>
be sorted out.<br>
<br>
I want to do something similar for purge.<br>
<br>
If you return(purge) from vcl_recv{}, the stuff's going to be<br>
gone.<br>
<br>
But I want to add a std.purge(ttl, grace, keep) where you can<br>
modify all three as you like.<br>
<br>
Both of these pressume that you can modify ttl/grace/keep on<br>
an object and let it survive, and that's somewhat contrary<br>
to our pre-4 decision to make objects read-only.<br>
<br>
That decision in turn changes the previous calculus on where the<br>
ttl|grace|keep timers live and I think they should move from obj<br>
to objcore in 4.1.<br>
<br>
That increases the size of objcore by 24 bytes or so, and since<br>
it is magically 128 bytes right now I'm not happy about that,<br>
but I think it will be worth the cost.<br>
<br>
It also means adding a oc->method() so we can tell -spersistent<br>
that we muked about with exp.*.<br>
<br>
Comments ?<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
Poul-Henning Kamp       | UNIX since Zilog Zeus 3.20<br>
phk@FreeBSD.ORG         | TCP/IP since RFC 956<br>
FreeBSD committer       | BSD since 4.3-tahoe<br>
Never attribute to malice what can adequately be explained by incompetence.<br>
<br>
_______________________________________________<br>
varnish-dev mailing list<br>
<a href="mailto:varnish-dev@varnish-cache.org">varnish-dev@varnish-cache.org</a><br>
<a href="https://www.varnish-cache.org/lists/mailman/listinfo/varnish-dev" target="_blank">https://www.varnish-cache.org/lists/mailman/listinfo/varnish-dev</a><br>
</font></span></blockquote></div><br><br clear="all"><div><br></div>-- <br><div><table border="0" cellpadding="0" cellspacing="0" style="font-size:12px;line-height:1.5em;font-family:'Helvetica Neue',Arial,sans-serif;color:rgb(102,102,102);width:550px;border-top-width:1px;border-top-style:solid;border-top-color:rgb(238,238,238);border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:rgb(238,238,238);margin-top:20px;padding-top:5px;padding-bottom:5px">
<tbody><tr><td width="100"><a href="http://varnish-software.com" target="_blank"><img src="http://www.varnish-software.com/static/media/logo-email.png"></a><span></span><span></span></td><td><strong style="font-size:14px;color:rgb(34,34,34)">Martin Blix Grydeland</strong><br>
Senior Developer | Varnish Software AS<br>Cell: +47 21 98 92 60<br><span style="font-weight:bold">We Make Websites Fly!</span></td></tr></tbody></table></div>
</div>