From kristian at projects.linpro.no Mon Mar 1 09:44:43 2010 From: kristian at projects.linpro.no (kristian at projects.linpro.no) Date: Mon, 1 Mar 2010 10:44:43 +0100 (CET) Subject: r4597 - in trunk/varnish-cache: bin/varnishd lib/libvcl Message-ID: <20100301094443.5B7B11F761A@projects.linpro.no> Author: kristian Date: 2010-03-01 10:44:42 +0100 (Mon, 01 Mar 2010) New Revision: 4597 Modified: trunk/varnish-cache/bin/varnishd/cache_waiter_epoll.c trunk/varnish-cache/lib/libvcl/vcc_fixed_token.c trunk/varnish-cache/lib/libvcl/vcc_obj.c Log: Read the epoll-timeout thread in the right place With level-triggered epoll, this should take care of the cpu-spinning that we saw in #644, but needs to be confirmed. Modified: trunk/varnish-cache/bin/varnishd/cache_waiter_epoll.c =================================================================== --- trunk/varnish-cache/bin/varnishd/cache_waiter_epoll.c 2010-02-26 19:17:57 UTC (rev 4596) +++ trunk/varnish-cache/bin/varnishd/cache_waiter_epoll.c 2010-03-01 09:44:42 UTC (rev 4597) @@ -160,6 +160,7 @@ { struct epoll_event ev[NEEV], *ep; struct sess *sp; + char junk; double deadline; int dotimer, i, n; @@ -178,8 +179,10 @@ for (ep = ev, i = 0; i < n; i++, ep++) { if (ep->data.ptr == dotimer_pipe && (ep->events == EPOLLIN || ep->events == EPOLLPRI)) + { + assert(read(dotimer_pipe[0], &junk, 1)); dotimer = 1; - else + } else vca_eev(ep); } if (!dotimer) @@ -208,7 +211,6 @@ vca_sess_timeout_ticker(void *arg) { char ticker = 'R'; - char junk; THR_SetName("cache-epoll-sess_timeout_ticker"); (void)arg; @@ -217,7 +219,6 @@ /* ticking */ assert(write(dotimer_pipe[1], &ticker, 1)); TIM_sleep(100 * 1e-3); - assert(read(dotimer_pipe[0], &junk, 1)); } return NULL; } Modified: trunk/varnish-cache/lib/libvcl/vcc_fixed_token.c =================================================================== --- trunk/varnish-cache/lib/libvcl/vcc_fixed_token.c 2010-02-26 19:17:57 UTC (rev 4596) +++ trunk/varnish-cache/lib/libvcl/vcc_fixed_token.c 2010-03-01 09:44:42 UTC (rev 4597) @@ -1,5 +1,5 @@ /* - * $Id: vcc_gen_fixed_token.tcl 4428 2010-01-06 17:38:59Z tfheen $ + * $Id$ * * NB: This file is machine generated, DO NOT EDIT! * @@ -159,10 +159,9 @@ /* ../../include/vcl.h */ - vsb_cat(sb, "/*\n * $Id: vcc_gen_fixed_token.tcl 4428 2010-01-06 17"); - vsb_cat(sb, ":38:59Z tfheen $\n *\n * NB: This file is machine gen"); - vsb_cat(sb, "erated, DO NOT EDIT!\n *\n * Edit and run vcc_gen_fixe"); - vsb_cat(sb, "d_token.tcl instead\n */\n\nstruct sess;\n"); + vsb_cat(sb, "/*\n * $Id$\n *\n * NB: This file is machine generate"); + vsb_cat(sb, "d, DO NOT EDIT!\n *\n * Edit and run vcc_gen_fixed_tok"); + vsb_cat(sb, "en.tcl instead\n */\n\nstruct sess;\n"); vsb_cat(sb, "struct cli;\n\ntypedef void vcl_init_f(struct cli *);\n"); vsb_cat(sb, "typedef void vcl_fini_f(struct cli *);\n"); vsb_cat(sb, "typedef int vcl_func_f(struct sess *sp);\n"); @@ -227,16 +226,16 @@ vsb_cat(sb, " * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWI"); vsb_cat(sb, "SE) ARISING IN ANY WAY\n * OUT OF THE USE OF THIS SOFT"); vsb_cat(sb, "WARE, EVEN IF ADVISED OF THE POSSIBILITY OF\n"); - vsb_cat(sb, " * SUCH DAMAGE.\n *\n * $Id: vrt.h 4428 2010-01-06 17:"); - vsb_cat(sb, "38:59Z tfheen $\n *\n * Runtime support for compiled V"); - vsb_cat(sb, "CL programs.\n *\n * XXX: When this file is changed, l"); - vsb_cat(sb, "ib/libvcl/vcc_gen_fixed_token.tcl\n"); - vsb_cat(sb, " * XXX: *MUST* be rerun.\n */\n"); - vsb_cat(sb, "\nstruct sess;\nstruct vsb;\nstruct cli;\n"); - vsb_cat(sb, "struct director;\nstruct VCL_conf;\n"); - vsb_cat(sb, "struct sockaddr;\n\n/*\n * A backend probe specificati"); - vsb_cat(sb, "on\n */\n\nextern const void * const vrt_magic_string_"); - vsb_cat(sb, "end;\n\nstruct vrt_backend_probe {\n"); + vsb_cat(sb, " * SUCH DAMAGE.\n *\n * $Id$\n *\n"); + vsb_cat(sb, " * Runtime support for compiled VCL programs.\n"); + vsb_cat(sb, " *\n * XXX: When this file is changed, lib/libvcl/vcc_"); + vsb_cat(sb, "gen_fixed_token.tcl\n * XXX: *MUST* be rerun.\n"); + vsb_cat(sb, " */\n\nstruct sess;\nstruct vsb;\n"); + vsb_cat(sb, "struct cli;\nstruct director;\n"); + vsb_cat(sb, "struct VCL_conf;\nstruct sockaddr;\n"); + vsb_cat(sb, "\n/*\n * A backend probe specification\n"); + vsb_cat(sb, " */\n\nextern const void * const vrt_magic_string_end;"); + vsb_cat(sb, "\n\nstruct vrt_backend_probe {\n"); vsb_cat(sb, "\tconst char\t*url;\n\tconst char\t*request;\n"); vsb_cat(sb, "\tdouble\t\ttimeout;\n\tdouble\t\tinterval;\n"); vsb_cat(sb, "\tunsigned\texp_status;\n\tunsigned\twindow;\n"); @@ -312,27 +311,25 @@ /* ../../include/vrt_obj.h */ - vsb_cat(sb, "/*\n * $Id: vcc_gen_fixed_token.tcl 4428 2010-01-06 17"); - vsb_cat(sb, ":38:59Z tfheen $\n *\n * NB: This file is machine gen"); - vsb_cat(sb, "erated, DO NOT EDIT!\n *\n * Edit and run vcc_gen_fixe"); - vsb_cat(sb, "d_token.tcl instead\n */\n\nstruct sockaddr * VRT_r_cl"); - vsb_cat(sb, "ient_ip(const struct sess *);\n"); - vsb_cat(sb, "struct sockaddr * VRT_r_server_ip(struct sess *);\n"); - vsb_cat(sb, "const char * VRT_r_server_hostname(struct sess *);\n"); - vsb_cat(sb, "const char * VRT_r_server_identity(struct sess *);\n"); - vsb_cat(sb, "int VRT_r_server_port(struct sess *);\n"); - vsb_cat(sb, "const char * VRT_r_req_request(const struct sess *);\n"); - vsb_cat(sb, "void VRT_l_req_request(const struct sess *, const char"); - vsb_cat(sb, " *, ...);\nconst char * VRT_r_req_url(const struct ses"); - vsb_cat(sb, "s *);\nvoid VRT_l_req_url(const struct sess *, const c"); - vsb_cat(sb, "har *, ...);\nconst char * VRT_r_req_proto(const struc"); - vsb_cat(sb, "t sess *);\nvoid VRT_l_req_proto(const struct sess *, "); - vsb_cat(sb, "const char *, ...);\nvoid VRT_l_req_hash(struct sess *"); - vsb_cat(sb, ", const char *);\nstruct director * VRT_r_req_backend("); - vsb_cat(sb, "struct sess *);\nvoid VRT_l_req_backend(struct sess *,"); - vsb_cat(sb, " struct director *);\nint VRT_r_req_restarts(const str"); - vsb_cat(sb, "uct sess *);\ndouble VRT_r_req_grace(struct sess *);\n"); - vsb_cat(sb, "void VRT_l_req_grace(struct sess *, double);\n"); + vsb_cat(sb, "/*\n * $Id$\n *\n * NB: This file is machine generate"); + vsb_cat(sb, "d, DO NOT EDIT!\n *\n * Edit and run vcc_gen_fixed_tok"); + vsb_cat(sb, "en.tcl instead\n */\n\nstruct sockaddr * VRT_r_client_"); + vsb_cat(sb, "ip(const struct sess *);\nstruct sockaddr * VRT_r_serv"); + vsb_cat(sb, "er_ip(struct sess *);\nconst char * VRT_r_server_hostn"); + vsb_cat(sb, "ame(struct sess *);\nconst char * VRT_r_server_identit"); + vsb_cat(sb, "y(struct sess *);\nint VRT_r_server_port(struct sess *"); + vsb_cat(sb, ");\nconst char * VRT_r_req_request(const struct sess *"); + vsb_cat(sb, ");\nvoid VRT_l_req_request(const struct sess *, const "); + vsb_cat(sb, "char *, ...);\nconst char * VRT_r_req_url(const struct"); + vsb_cat(sb, " sess *);\nvoid VRT_l_req_url(const struct sess *, con"); + vsb_cat(sb, "st char *, ...);\nconst char * VRT_r_req_proto(const s"); + vsb_cat(sb, "truct sess *);\nvoid VRT_l_req_proto(const struct sess"); + vsb_cat(sb, " *, const char *, ...);\nvoid VRT_l_req_hash(struct se"); + vsb_cat(sb, "ss *, const char *);\nstruct director * VRT_r_req_back"); + vsb_cat(sb, "end(struct sess *);\nvoid VRT_l_req_backend(struct ses"); + vsb_cat(sb, "s *, struct director *);\nint VRT_r_req_restarts(const"); + vsb_cat(sb, " struct sess *);\ndouble VRT_r_req_grace(struct sess *"); + vsb_cat(sb, ");\nvoid VRT_l_req_grace(struct sess *, double);\n"); vsb_cat(sb, "const char * VRT_r_req_xid(struct sess *);\n"); vsb_cat(sb, "unsigned VRT_r_req_esi(struct sess *);\n"); vsb_cat(sb, "void VRT_l_req_esi(struct sess *, unsigned);\n"); Modified: trunk/varnish-cache/lib/libvcl/vcc_obj.c =================================================================== --- trunk/varnish-cache/lib/libvcl/vcc_obj.c 2010-02-26 19:17:57 UTC (rev 4596) +++ trunk/varnish-cache/lib/libvcl/vcc_obj.c 2010-03-01 09:44:42 UTC (rev 4597) @@ -1,5 +1,5 @@ /* - * $Id: vcc_gen_fixed_token.tcl 4428 2010-01-06 17:38:59Z tfheen $ + * $Id$ * * NB: This file is machine generated, DO NOT EDIT! * From phk at projects.linpro.no Mon Mar 1 11:18:28 2010 From: phk at projects.linpro.no (phk at projects.linpro.no) Date: Mon, 1 Mar 2010 12:18:28 +0100 (CET) Subject: r4598 - trunk/varnish-cache/bin/varnishd Message-ID: <20100301111828.06AC01F7619@projects.linpro.no> Author: phk Date: 2010-03-01 12:18:27 +0100 (Mon, 01 Mar 2010) New Revision: 4598 Modified: trunk/varnish-cache/bin/varnishd/cache_wrw.c trunk/varnish-cache/bin/varnishd/mgt_pool.c trunk/varnish-cache/bin/varnishd/vparam.h Log: Set svn:keyword property Property changes on: trunk/varnish-cache/bin/varnishd/cache_wrw.c ___________________________________________________________________ Name: svn:keyword + Id Property changes on: trunk/varnish-cache/bin/varnishd/mgt_pool.c ___________________________________________________________________ Name: svn:keyword + Id Property changes on: trunk/varnish-cache/bin/varnishd/vparam.h ___________________________________________________________________ Name: svn:keyword + Id From phk at projects.linpro.no Mon Mar 1 11:20:21 2010 From: phk at projects.linpro.no (phk at projects.linpro.no) Date: Mon, 1 Mar 2010 12:20:21 +0100 (CET) Subject: r4599 - trunk/varnish-cache/bin/varnishd Message-ID: <20100301112021.D243C1F7624@projects.linpro.no> Author: phk Date: 2010-03-01 12:20:21 +0100 (Mon, 01 Mar 2010) New Revision: 4599 Modified: trunk/varnish-cache/bin/varnishd/cache_lck.c trunk/varnish-cache/bin/varnishd/cache_wrw.c trunk/varnish-cache/bin/varnishd/hash_critbit.c trunk/varnish-cache/bin/varnishd/mgt_pool.c trunk/varnish-cache/bin/varnishd/vparam.h Log: Try again, this time with the right property: svn:keywordS Property changes on: trunk/varnish-cache/bin/varnishd/cache_lck.c ___________________________________________________________________ Name: svn:keyword - Id Name: svn:keywords + Id Modified: trunk/varnish-cache/bin/varnishd/cache_wrw.c =================================================================== --- trunk/varnish-cache/bin/varnishd/cache_wrw.c 2010-03-01 11:18:27 UTC (rev 4598) +++ trunk/varnish-cache/bin/varnishd/cache_wrw.c 2010-03-01 11:20:21 UTC (rev 4599) @@ -43,7 +43,7 @@ #include "config.h" #include "svnid.h" -SVNID("$Id: cache_pool.c 4069 2009-05-11 08:57:00Z phk $") +SVNID("$Id$") #include #include Property changes on: trunk/varnish-cache/bin/varnishd/cache_wrw.c ___________________________________________________________________ Name: svn:keyword - Id Name: svn:keywords + Id Property changes on: trunk/varnish-cache/bin/varnishd/hash_critbit.c ___________________________________________________________________ Name: svn:keyword - Id Name: svn:keywords + Id Modified: trunk/varnish-cache/bin/varnishd/mgt_pool.c =================================================================== --- trunk/varnish-cache/bin/varnishd/mgt_pool.c 2010-03-01 11:18:27 UTC (rev 4598) +++ trunk/varnish-cache/bin/varnishd/mgt_pool.c 2010-03-01 11:20:21 UTC (rev 4599) @@ -43,7 +43,7 @@ #include "config.h" #include "svnid.h" -SVNID("$Id: cache_pool.c 3429 2008-11-24 17:47:21Z phk $") +SVNID("$Id$") #include #include #include Property changes on: trunk/varnish-cache/bin/varnishd/mgt_pool.c ___________________________________________________________________ Name: svn:keyword - Id Name: svn:keywords + Id Modified: trunk/varnish-cache/bin/varnishd/vparam.h =================================================================== --- trunk/varnish-cache/bin/varnishd/vparam.h 2010-03-01 11:18:27 UTC (rev 4598) +++ trunk/varnish-cache/bin/varnishd/vparam.h 2010-03-01 11:20:21 UTC (rev 4599) @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: mgt_param.c 3440 2008-11-25 13:39:15Z phk $ + * $Id$ */ struct parspec; Property changes on: trunk/varnish-cache/bin/varnishd/vparam.h ___________________________________________________________________ Name: svn:keyword - Id Name: svn:keywords + Id From phk at projects.linpro.no Mon Mar 1 11:21:39 2010 From: phk at projects.linpro.no (phk at projects.linpro.no) Date: Mon, 1 Mar 2010 12:21:39 +0100 (CET) Subject: r4600 - trunk/varnish-cache/bin/varnishd Message-ID: <20100301112139.669551F7624@projects.linpro.no> Author: phk Date: 2010-03-01 12:21:39 +0100 (Mon, 01 Mar 2010) New Revision: 4600 Modified: trunk/varnish-cache/bin/varnishd/storage_persistent.c Log: Also fix this one Property changes on: trunk/varnish-cache/bin/varnishd/storage_persistent.c ___________________________________________________________________ Name: svn:keyword - Id Name: svn:keywords + Id From phk at projects.linpro.no Mon Mar 1 11:24:57 2010 From: phk at projects.linpro.no (phk at projects.linpro.no) Date: Mon, 1 Mar 2010 12:24:57 +0100 (CET) Subject: r4601 - in trunk/varnish-cache: bin/varnishtest include lib/libvarnish Message-ID: <20100301112457.873691F7624@projects.linpro.no> Author: phk Date: 2010-03-01 12:24:57 +0100 (Mon, 01 Mar 2010) New Revision: 4601 Modified: trunk/varnish-cache/bin/varnishtest/varnishtest.1 trunk/varnish-cache/include/cli_serve.h trunk/varnish-cache/include/http_response.h trunk/varnish-cache/include/persistent.h trunk/varnish-cache/include/purge_vars.h trunk/varnish-cache/lib/libvarnish/cli_auth.c trunk/varnish-cache/lib/libvarnish/cli_serve.c trunk/varnish-cache/lib/libvarnish/subproc.c trunk/varnish-cache/lib/libvarnish/vsha256.c Log: Add svn:keywords properties Property changes on: trunk/varnish-cache/bin/varnishtest/varnishtest.1 ___________________________________________________________________ Name: svn:keywords + Id Property changes on: trunk/varnish-cache/include/cli_serve.h ___________________________________________________________________ Name: svn:keywords + Id Property changes on: trunk/varnish-cache/include/http_response.h ___________________________________________________________________ Name: svn:keywords + Id Property changes on: trunk/varnish-cache/include/persistent.h ___________________________________________________________________ Name: svn:keywords + Id Property changes on: trunk/varnish-cache/include/purge_vars.h ___________________________________________________________________ Name: svn:keywords + Id Property changes on: trunk/varnish-cache/lib/libvarnish/cli_auth.c ___________________________________________________________________ Name: svn:keywords + Id Modified: trunk/varnish-cache/lib/libvarnish/cli_serve.c =================================================================== --- trunk/varnish-cache/lib/libvarnish/cli_serve.c 2010-03-01 11:21:39 UTC (rev 4600) +++ trunk/varnish-cache/lib/libvarnish/cli_serve.c 2010-03-01 11:24:57 UTC (rev 4601) @@ -32,7 +32,7 @@ #include "config.h" #include "svnid.h" -SVNID("$Id: cli.c 4235 2009-09-11 13:06:15Z phk $") +SVNID("$Id$") #include #include Property changes on: trunk/varnish-cache/lib/libvarnish/cli_serve.c ___________________________________________________________________ Name: svn:keywords + Id Property changes on: trunk/varnish-cache/lib/libvarnish/subproc.c ___________________________________________________________________ Name: svn:keywords + Id Property changes on: trunk/varnish-cache/lib/libvarnish/vsha256.c ___________________________________________________________________ Name: svn:keywords + Id From phk at projects.linpro.no Mon Mar 1 11:30:44 2010 From: phk at projects.linpro.no (phk at projects.linpro.no) Date: Mon, 1 Mar 2010 12:30:44 +0100 (CET) Subject: r4602 - trunk/varnish-cache/doc Message-ID: <20100301113044.010061F7624@projects.linpro.no> Author: phk Date: 2010-03-01 12:30:43 +0100 (Mon, 01 Mar 2010) New Revision: 4602 Modified: trunk/varnish-cache/doc/changes-1.1.2-2.0.xml trunk/varnish-cache/doc/changes-2.0-2.0.1.xml trunk/varnish-cache/doc/changes-2.0.1.xml trunk/varnish-cache/doc/changes-2.0.xml Log: Set more missing svn:keywords Property changes on: trunk/varnish-cache/doc/changes-1.1.2-2.0.xml ___________________________________________________________________ Name: svn:keywords + Id Property changes on: trunk/varnish-cache/doc/changes-2.0-2.0.1.xml ___________________________________________________________________ Name: svn:keywords + Id Property changes on: trunk/varnish-cache/doc/changes-2.0.1.xml ___________________________________________________________________ Name: svn:keywords + Id Property changes on: trunk/varnish-cache/doc/changes-2.0.xml ___________________________________________________________________ Name: svn:keywords + Id From phk at projects.linpro.no Wed Mar 3 09:12:11 2010 From: phk at projects.linpro.no (phk at projects.linpro.no) Date: Wed, 3 Mar 2010 10:12:11 +0100 (CET) Subject: r4603 - trunk/varnish-cache/bin/varnishd Message-ID: <20100303091211.3520B1F75C3@projects.linpro.no> Author: phk Date: 2010-03-03 10:12:10 +0100 (Wed, 03 Mar 2010) New Revision: 4603 Modified: trunk/varnish-cache/bin/varnishd/cache_http.c Log: Assert on the right HTTP structure. Found by: luc/tom28 Modified: trunk/varnish-cache/bin/varnishd/cache_http.c =================================================================== --- trunk/varnish-cache/bin/varnishd/cache_http.c 2010-03-01 11:30:43 UTC (rev 4602) +++ trunk/varnish-cache/bin/varnishd/cache_http.c 2010-03-03 09:12:10 UTC (rev 4603) @@ -644,7 +644,7 @@ CHECK_OBJ_NOTNULL(fm, HTTP_MAGIC); CHECK_OBJ_NOTNULL(to, HTTP_MAGIC); - assert(n < to->shd); + assert(n < fm->shd); Tcheck(fm->hd[n]); if (to->nhd < to->shd) { to->hd[to->nhd] = fm->hd[n]; From phk at projects.linpro.no Mon Mar 8 15:26:15 2010 From: phk at projects.linpro.no (phk at projects.linpro.no) Date: Mon, 8 Mar 2010 16:26:15 +0100 (CET) Subject: r4604 - trunk/varnish-cache/bin/varnishtest/tests Message-ID: <20100308152615.EA2841F73B9@projects.linpro.no> Author: phk Date: 2010-03-08 16:26:15 +0100 (Mon, 08 Mar 2010) New Revision: 4604 Modified: trunk/varnish-cache/bin/varnishtest/tests/v00010.vtc Log: Use a small -smalloc store for this test. Modified: trunk/varnish-cache/bin/varnishtest/tests/v00010.vtc =================================================================== --- trunk/varnish-cache/bin/varnishtest/tests/v00010.vtc 2010-03-03 09:12:10 UTC (rev 4603) +++ trunk/varnish-cache/bin/varnishtest/tests/v00010.vtc 2010-03-08 15:26:15 UTC (rev 4604) @@ -13,7 +13,7 @@ txresp -hdr "Foo: foo" -body "abcdef\n" } -start -varnish v1 -vcl+backend { +varnish v1 -arg "-smalloc,1m" -vcl+backend { sub vcl_fetch { if (beresp.http.panic) { From phk at projects.linpro.no Tue Mar 9 11:27:08 2010 From: phk at projects.linpro.no (phk at projects.linpro.no) Date: Tue, 9 Mar 2010 12:27:08 +0100 (CET) Subject: r4605 - trunk/varnish-cache/bin/varnishd Message-ID: <20100309112708.AB9371F7612@projects.linpro.no> Author: phk Date: 2010-03-09 12:27:08 +0100 (Tue, 09 Mar 2010) New Revision: 4605 Modified: trunk/varnish-cache/bin/varnishd/cache_acceptor.c trunk/varnish-cache/bin/varnishd/cache_center.c trunk/varnish-cache/bin/varnishd/cache_pipe.c trunk/varnish-cache/bin/varnishd/cache_waiter_epoll.c trunk/varnish-cache/bin/varnishd/cache_waiter_kqueue.c trunk/varnish-cache/bin/varnishd/cache_waiter_poll.c trunk/varnish-cache/bin/varnishd/cache_waiter_ports.c Log: Stop messing with the linger bit, there are too many portability issues and bugs right now. Modified: trunk/varnish-cache/bin/varnishd/cache_acceptor.c =================================================================== --- trunk/varnish-cache/bin/varnishd/cache_acceptor.c 2010-03-08 15:26:15 UTC (rev 4604) +++ trunk/varnish-cache/bin/varnishd/cache_acceptor.c 2010-03-09 11:27:08 UTC (rev 4605) @@ -92,7 +92,7 @@ * will return immediately. */ static const struct linger linger = { - .l_onoff = 1, + .l_onoff = 0, }; static unsigned char need_sndtimeo, need_rcvtimeo, need_linger, need_test; Modified: trunk/varnish-cache/bin/varnishd/cache_center.c =================================================================== --- trunk/varnish-cache/bin/varnishd/cache_center.c 2010-03-08 15:26:15 UTC (rev 4604) +++ trunk/varnish-cache/bin/varnishd/cache_center.c 2010-03-09 11:27:08 UTC (rev 4605) @@ -271,7 +271,7 @@ * This is an orderly close of the connection; ditch nolinger * before we close, to get queued data transmitted. */ - (void)TCP_linger(sp->fd, 0); + // XXX: not yet (void)TCP_linger(sp->fd, 0); vca_close_session(sp, sp->doclose); } Modified: trunk/varnish-cache/bin/varnishd/cache_pipe.c =================================================================== --- trunk/varnish-cache/bin/varnishd/cache_pipe.c 2010-03-08 15:26:15 UTC (rev 4604) +++ trunk/varnish-cache/bin/varnishd/cache_pipe.c 2010-03-09 11:27:08 UTC (rev 4605) @@ -100,11 +100,11 @@ memset(fds, 0, sizeof fds); - (void)TCP_linger(vc->fd, 0); + // XXX: not yet (void)TCP_linger(vc->fd, 0); fds[0].fd = vc->fd; fds[0].events = POLLIN | POLLERR; - (void)TCP_linger(sp->fd, 0); + // XXX: not yet (void)TCP_linger(sp->fd, 0); fds[1].fd = sp->fd; fds[1].events = POLLIN | POLLERR; Modified: trunk/varnish-cache/bin/varnishd/cache_waiter_epoll.c =================================================================== --- trunk/varnish-cache/bin/varnishd/cache_waiter_epoll.c 2010-03-08 15:26:15 UTC (rev 4604) +++ trunk/varnish-cache/bin/varnishd/cache_waiter_epoll.c 2010-03-09 11:27:08 UTC (rev 4605) @@ -197,7 +197,7 @@ if (sp->t_open > deadline) break; VTAILQ_REMOVE(&sesshead, sp, list); - TCP_linger(sp->fd, 0); + // XXX: not yet TCP_linger(sp->fd, 0); vca_close_session(sp, "timeout"); SES_Delete(sp); } Modified: trunk/varnish-cache/bin/varnishd/cache_waiter_kqueue.c =================================================================== --- trunk/varnish-cache/bin/varnishd/cache_waiter_kqueue.c 2010-03-08 15:26:15 UTC (rev 4604) +++ trunk/varnish-cache/bin/varnishd/cache_waiter_kqueue.c 2010-03-09 11:27:08 UTC (rev 4605) @@ -198,7 +198,7 @@ if (sp->t_open > deadline) break; VTAILQ_REMOVE(&sesshead, sp, list); - (void)TCP_linger(sp->fd, 0); + // XXX: not yet (void)TCP_linger(sp->fd, 0); vca_close_session(sp, "timeout"); SES_Delete(sp); } Modified: trunk/varnish-cache/bin/varnishd/cache_waiter_poll.c =================================================================== --- trunk/varnish-cache/bin/varnishd/cache_waiter_poll.c 2010-03-08 15:26:15 UTC (rev 4604) +++ trunk/varnish-cache/bin/varnishd/cache_waiter_poll.c 2010-03-09 11:27:08 UTC (rev 4605) @@ -166,7 +166,7 @@ } else if (sp->t_open <= deadline) { VTAILQ_REMOVE(&sesshead, sp, list); vca_unpoll(fd); - (void)TCP_linger(sp->fd, 0); + // XXX: not yet (void)TCP_linger(sp->fd, 0); vca_close_session(sp, "timeout"); SES_Delete(sp); } Modified: trunk/varnish-cache/bin/varnishd/cache_waiter_ports.c =================================================================== --- trunk/varnish-cache/bin/varnishd/cache_waiter_ports.c 2010-03-08 15:26:15 UTC (rev 4604) +++ trunk/varnish-cache/bin/varnishd/cache_waiter_ports.c 2010-03-09 11:27:08 UTC (rev 4605) @@ -139,7 +139,7 @@ VTAILQ_REMOVE(&sesshead, sp, list); if(sp->fd != -1) vca_del(sp->fd); - TCP_linger(sp->fd, 0); + // XXX: not yet TCP_linger(sp->fd, 0); vca_close_session(sp, "timeout"); SES_Delete(sp); } From tfheen at projects.linpro.no Wed Mar 10 09:17:37 2010 From: tfheen at projects.linpro.no (tfheen at projects.linpro.no) Date: Wed, 10 Mar 2010 10:17:37 +0100 (CET) Subject: r4606 - trunk/varnish-cache/doc Message-ID: <20100310091737.123791F73DF@projects.linpro.no> Author: tfheen Date: 2010-03-10 10:17:36 +0100 (Wed, 10 Mar 2010) New Revision: 4606 Added: trunk/varnish-cache/doc/changes-2.0.1-2.0.2.xml trunk/varnish-cache/doc/changes-2.0.3-2.0.4.xml trunk/varnish-cache/doc/changes-2.0.3.xml trunk/varnish-cache/doc/changes-2.0.4-2.0.5.xml trunk/varnish-cache/doc/changes-2.0.5-2.0.6.xml trunk/varnish-cache/doc/changes-2.0.5.xml trunk/varnish-cache/doc/changes-2.0.6.xml Modified: trunk/varnish-cache/doc/Makefile.am Log: Merge changelogs from the 2.0 branch Modified: trunk/varnish-cache/doc/Makefile.am =================================================================== --- trunk/varnish-cache/doc/Makefile.am 2010-03-09 11:27:08 UTC (rev 4605) +++ trunk/varnish-cache/doc/Makefile.am 2010-03-10 09:17:36 UTC (rev 4606) @@ -1,6 +1,11 @@ # $Id$ CHANGELOGS = \ + changes-2.0.6.html \ + changes-2.0.5.html \ + changes-2.0.4.html \ + changes-2.0.3.html \ + changes-2.0.2.html \ changes-2.0.1.html \ changes-2.0.html \ changes-1.1.2.html \ @@ -9,6 +14,11 @@ changes-1.0.4.html XML = \ + changes-2.0.5-2.0.6.xml \ + changes-2.0.4-2.0.5.xml \ + changes-2.0.3-2.0.4.xml \ + changes-2.0.2-2.0.3.xml \ + changes-2.0.1-2.0.2.xml \ changes-2.0-2.0.1.xml \ changes-1.1.2-2.0.xml \ changes-1.1.1-1.1.2.xml \ Added: trunk/varnish-cache/doc/changes-2.0.1-2.0.2.xml =================================================================== --- trunk/varnish-cache/doc/changes-2.0.1-2.0.2.xml (rev 0) +++ trunk/varnish-cache/doc/changes-2.0.1-2.0.2.xml 2010-03-10 09:17:36 UTC (rev 4606) @@ -0,0 +1,25 @@ + + +]> + + + + varnishd + + + In high-load situations, when using + ESI, varnishd would sometimes mishandle objects and + crash. This has been worked around. + + + + + varnishreplay + + + varnishreplay did not work correctly on + Linux, due to a too small stack. This has now been fixed. + + + Added: trunk/varnish-cache/doc/changes-2.0.3-2.0.4.xml =================================================================== --- trunk/varnish-cache/doc/changes-2.0.3-2.0.4.xml (rev 0) +++ trunk/varnish-cache/doc/changes-2.0.3-2.0.4.xml 2010-03-10 09:17:36 UTC (rev 4606) @@ -0,0 +1,98 @@ + + +]> + + + + varnishd + + + Make Varnish more portable by pulling in fixes for + Solaris and NetBSD. + + + + Correct description of -a in the manual page. + + + + Ensure we are compiling in C99 mode. + + + + If error was called with a null reason, we would crash on + Solaris. Make sure this no longer happens. + + + + Varnish used to crash if you asked it to use a + non-existent waiter. This has now been fixed. + + + + Add documentation to the default VCL explaining that + using Connection: close in vcl_close + is generally a good idea. + + + + Add minimal facility for dealing with TELNET option + negotiation by returning WONT to DO and DONT requests. + + + + If the backend is unhealthy, use a graced object if one is + available. + + + + Make server.hostname + and server.identity available to VCL. The latter + can be set with the -i parameter + to varnishd. + + + + Make restart available + from vcl_error. + + + + Previously, only the TTL of an object was considered in + whether it would be marked as cacheable. This has been changed + to take the grace into consideration as well. + + + + Previously, if an included ESI fragment had a zero size, + we would send out a zero-sized chunk which signifies + end-of-transmission. We now ignore zero-sized chunks. + + + + We accidentially slept for far too long when we reached + the maximum number of open file descriptors. This has been + corrected and accept_fd_holdoff now works + correctly. + + + Previously, when ESI processing, we did not look at the + full length, but stopped at the first NULL byte. We no longer + do that, enabling ESI processing of binary data. + + + + + varnishtest + + Make sure system "..." returns successfully to ensure + test failures do not go unnoticed. + + + + Make it possible to send NULL bytes through the testing + framework. + + + Added: trunk/varnish-cache/doc/changes-2.0.3.xml =================================================================== --- trunk/varnish-cache/doc/changes-2.0.3.xml (rev 0) +++ trunk/varnish-cache/doc/changes-2.0.3.xml 2010-03-10 09:17:36 UTC (rev 4606) @@ -0,0 +1,12 @@ + + + +]> + + + Varnish + 2.0.3 + + + Added: trunk/varnish-cache/doc/changes-2.0.4-2.0.5.xml =================================================================== --- trunk/varnish-cache/doc/changes-2.0.4-2.0.5.xml (rev 0) +++ trunk/varnish-cache/doc/changes-2.0.4-2.0.5.xml 2010-03-10 09:17:36 UTC (rev 4606) @@ -0,0 +1,161 @@ + + +]> + + + + varnishd + + + Handle object workspace overruns better. + + + + Allow turning off ESI processing per request by using + set req.esi = off. + + + + Tell the kernel that we expect to use the mmap-ed file in + a random fashion. On Linux, this turns off/down readahead and + increases performance. + + + + Make it possible to change the maximum number of HTTP + headers we allow by + passing --with-max-header-fields=NUM rather than + changing the code. + + + + Implement support for HTTP continuation lines. + + + + Change how connections are closed and only use SO_LINGER + for orderly connection closure. This should hopefully make + worker threads less prone to hangups on network problems. + + + + Handle multi-element purges correctly. Previously we + ended up with parse errors when this was done from VCL. + + + + Handle illegal responses from the backend better by + serving a 503 page rather than panic-ing. + + + + When we run into an assertion that is not true, Varnish + would previously dump a little bit of information about itself. + Extend that information with a backtrace. Note that this relies + on the varnish binary being unstripped. + + + + Add a session_max parameter that limits the maximum + number of sessions we keep open before we start dropping new + connections summarily. + + + + Try to consume less memory when doing ESI processing by + properly rolling back used workspace after processing an + object. This should make it possible to + turn sess_workspace quite a bit for users with + ESI-heavy pages. + + + + Turn on session_linger by default. Tests + have shown that session_linger helps a fair bit + with performance. + + + + Rewrite the epoll acceptor for better performance. This + should lead to both higher processing rates and maximum number + of connections on Linux. + + + + Add If-None-Match support, this gives significant + bandwidth savings for users with compliant browsers. + + + + RFC2616 specifies + that ETag, Content-Location, Expires, Cache-Control + and Vary should be emitted when delivering a + response with the 304 response code. + + + + Various fixes which makes Varnish compile and work on AIX. + + + + Turn on TCP_DEFER_ACCEPT on Linux. This should make us + less suspecible to denial of service attacks as well as give us + slightly better performance. + + + + Add an .initial property to the backend + probe specification. This is the number of good probes we + pretend to have seen. The default is one less than .threshold, + which means the first probe will decide if we consider the + backend healthy. + + + + Make it possible to compare strings against other + string-like objects, not just plain strings. This allows you to + compare two headers, for instance. + + + + When support for restart + in vcl_error was added, there was no check to + prevent infinte recursion. This has now been fixed. + + + + + Turn on purge_dups by default. This should make us + consume less memory when there are many bans for the same + pattern added. + + + + Add a new log tag called FetchError which + tries to explain why we could not fetch an object from the + backend. + + + + Change the default srcaddr_ttl to 0. It is + not used by anything and has been removed in the development + version. This will increase performance somewhat. + + + + + + varnishtop + + varnishtop did not handle variable-length log fields + correctly. This is now fixed. + + + + varnishtop previously did not print the name of the tag, + which made it very hard to understand. We now print out the + tag name. + + + Added: trunk/varnish-cache/doc/changes-2.0.5-2.0.6.xml =================================================================== --- trunk/varnish-cache/doc/changes-2.0.5-2.0.6.xml (rev 0) +++ trunk/varnish-cache/doc/changes-2.0.5-2.0.6.xml 2010-03-10 09:17:36 UTC (rev 4606) @@ -0,0 +1,53 @@ + + +]> + + + + varnishd + + + 2.0.5 had an off-by-one error in the ESI handling causing + includes to fail a large part of the time. This has now been + fixed. + + + + Try harder to not confuse backends when sending them + backend probes. We half-closed the connection, something some + backends thought meant we had dropped the connection. Stop + doing so, and add the capability for specifying the expected + response code. + + + + In 2.0.5, session lingering was turned on. This caused + statistics to not be counted often enough in some cases. This + has now been fixed. + + + + Avoid triggering an assert if the other end closes the + connection while we are lingering and waiting for another + request from them. + + + + When generating backtraces, prefer the built-in backtrace + function if such exists. This fixes a problem compiling 2.0.5 + on Solaris. + + + + Make it possible to specify the per-thread stack size. + This might be useful on 32 bit systems with their limited + address space. + + + + Document the -C option + to varnishd. + + + Added: trunk/varnish-cache/doc/changes-2.0.5.xml =================================================================== --- trunk/varnish-cache/doc/changes-2.0.5.xml (rev 0) +++ trunk/varnish-cache/doc/changes-2.0.5.xml 2010-03-10 09:17:36 UTC (rev 4606) @@ -0,0 +1,12 @@ + + + +]> + + + Varnish + 2.0.5 + + + Added: trunk/varnish-cache/doc/changes-2.0.6.xml =================================================================== --- trunk/varnish-cache/doc/changes-2.0.6.xml (rev 0) +++ trunk/varnish-cache/doc/changes-2.0.6.xml 2010-03-10 09:17:36 UTC (rev 4606) @@ -0,0 +1,12 @@ + + + +]> + + + Varnish + 2.0.6 + + + From ebf0 at varnish-cache.org Tue Mar 16 12:32:42 2010 From: ebf0 at varnish-cache.org (ebf0 at varnish-cache.org) Date: Tue, 16 Mar 2010 13:32:42 +0100 Subject: r4620 - trunk/varnish-tools/security.vcl/vcl Message-ID: Author: ebf0 Date: 2010-03-16 13:32:42 +0100 (Tue, 16 Mar 2010) New Revision: 4620 Modified: trunk/varnish-tools/security.vcl/vcl/Makefile Log: TEST Modified: trunk/varnish-tools/security.vcl/vcl/Makefile =================================================================== --- trunk/varnish-tools/security.vcl/vcl/Makefile 2010-03-16 12:24:39 UTC (rev 4619) +++ trunk/varnish-tools/security.vcl/vcl/Makefile 2010-03-16 12:32:42 UTC (rev 4620) @@ -38,3 +38,4 @@ @../tools/generate_variables @echo "done" + From ebf0 at varnish-cache.org Tue Mar 16 12:42:19 2010 From: ebf0 at varnish-cache.org (ebf0 at varnish-cache.org) Date: Tue, 16 Mar 2010 13:42:19 +0100 Subject: r4621 - trunk/varnish-tools/security.vcl/vcl Message-ID: Author: ebf0 Date: 2010-03-16 13:42:18 +0100 (Tue, 16 Mar 2010) New Revision: 4621 Modified: trunk/varnish-tools/security.vcl/vcl/Makefile Log: ttest Modified: trunk/varnish-tools/security.vcl/vcl/Makefile =================================================================== --- trunk/varnish-tools/security.vcl/vcl/Makefile 2010-03-16 12:32:42 UTC (rev 4620) +++ trunk/varnish-tools/security.vcl/vcl/Makefile 2010-03-16 12:42:18 UTC (rev 4621) @@ -39,3 +39,4 @@ @echo "done" + From ebf0 at varnish-cache.org Tue Mar 16 13:24:11 2010 From: ebf0 at varnish-cache.org (ebf0 at varnish-cache.org) Date: Tue, 16 Mar 2010 14:24:11 +0100 Subject: r4622 - trunk/varnish-tools/security.vcl/vcl Message-ID: Author: ebf0 Date: 2010-03-16 14:24:11 +0100 (Tue, 16 Mar 2010) New Revision: 4622 Modified: trunk/varnish-tools/security.vcl/vcl/Makefile Log: test Modified: trunk/varnish-tools/security.vcl/vcl/Makefile =================================================================== --- trunk/varnish-tools/security.vcl/vcl/Makefile 2010-03-16 12:42:18 UTC (rev 4621) +++ trunk/varnish-tools/security.vcl/vcl/Makefile 2010-03-16 13:24:11 UTC (rev 4622) @@ -39,4 +39,3 @@ @echo "done" - From ebf0 at varnish-cache.org Tue Mar 16 13:32:20 2010 From: ebf0 at varnish-cache.org (ebf0 at varnish-cache.org) Date: Tue, 16 Mar 2010 14:32:20 +0100 Subject: r4623 - trunk/varnish-tools/security.vcl/vcl Message-ID: Author: ebf0 Date: 2010-03-16 14:32:20 +0100 (Tue, 16 Mar 2010) New Revision: 4623 Modified: trunk/varnish-tools/security.vcl/vcl/Makefile Log: test Modified: trunk/varnish-tools/security.vcl/vcl/Makefile =================================================================== --- trunk/varnish-tools/security.vcl/vcl/Makefile 2010-03-16 13:24:11 UTC (rev 4622) +++ trunk/varnish-tools/security.vcl/vcl/Makefile 2010-03-16 13:32:20 UTC (rev 4623) @@ -39,3 +39,5 @@ @echo "done" + + From ebf0 at varnish-cache.org Tue Mar 16 13:41:03 2010 From: ebf0 at varnish-cache.org (ebf0 at varnish-cache.org) Date: Tue, 16 Mar 2010 14:41:03 +0100 Subject: r4624 - trunk/varnish-tools/security.vcl/vcl Message-ID: Author: ebf0 Date: 2010-03-16 14:41:03 +0100 (Tue, 16 Mar 2010) New Revision: 4624 Modified: trunk/varnish-tools/security.vcl/vcl/Makefile Log: test Modified: trunk/varnish-tools/security.vcl/vcl/Makefile =================================================================== --- trunk/varnish-tools/security.vcl/vcl/Makefile 2010-03-16 13:32:20 UTC (rev 4623) +++ trunk/varnish-tools/security.vcl/vcl/Makefile 2010-03-16 13:41:03 UTC (rev 4624) @@ -41,3 +41,6 @@ + + + From phk at varnish-cache.org Wed Mar 17 09:19:25 2010 From: phk at varnish-cache.org (phk at varnish-cache.org) Date: Wed, 17 Mar 2010 10:19:25 +0100 Subject: r4625 - trunk/varnish-cache/doc Message-ID: Author: phk Date: 2010-03-17 10:19:25 +0100 (Wed, 17 Mar 2010) New Revision: 4625 Added: trunk/varnish-cache/doc/changes-2.0.2-2.0.3.xml trunk/varnish-cache/doc/changes-2.0.2.xml trunk/varnish-cache/doc/changes-2.0.4.xml Log: Attempt to fix build by adding missing files from 2.0 branch. tfheen: Please review Added: trunk/varnish-cache/doc/changes-2.0.2-2.0.3.xml =================================================================== --- trunk/varnish-cache/doc/changes-2.0.2-2.0.3.xml (rev 0) +++ trunk/varnish-cache/doc/changes-2.0.2-2.0.3.xml 2010-03-17 09:19:25 UTC (rev 4625) @@ -0,0 +1,225 @@ + + +]> + + + + varnishd + + + Handle If-Modified-Since and ESI sub-objects better, + fixing a problem where we sometimes neglected to insert + included objects. + + + + restart in vcl_hit is now supported. + + + + Setting the TTL of an object to 0 seconds would sometimes + cause it to be delivered for up to one second - epsilon. This + has been corrected and we should now never deliver those + objects to other clients. + + + + The malloc storage backend now prints the maximum storage + size, just like the file backend. + + + + Various small documentation bugs have been fixed. + + + + Varnish did not set a default interval for backend + probes, causing it to poll the backend continuously. This has + been corrected. + + + + Allow "true" and "false" when setting boolean parameters, + in addition to on/off, enable/disable and yes/no. + + + + Default to always talking HTTP 1.1 with the backend. + + + + Varnish did not make sure the file it was loading was a + regular file. This could cause Varnish to crash if it was + asked to load a directory or other non-regular file. We now + check that the file is a regular file before loading it. + + + + The binary heap used for expiry processing had + scalability problems. Work around this by using stripes of a + fixed size, which should make this scale better, particularly + when starting up and having lots of objects. + + + + When we imported the jemalloc library into + the Varnish tree, it did not compile without warnings. This + has now been fixed. + + + + Varnish took a very long time to detect that the backend + did not respond. To remedy this, we now have read timeouts in + addition to the connect timeout. Both + the first_byte_timeout and + the between_bytes_timeout defaults to 60 seconds. + The connect timeout is no longer in milliseconds, but rather in + seconds. + + + + Previously, the VCL to C conversion as well as the + invocation of the C compiler was done in the management + process. This is now done in a separate sub-process. This + prevents any bugs in the VCL compiler from affecting the + management process. + + + + Chunked encoding headers were counted in the statistics + for header bytes. They no longer are. + + + + ESI processed objects were not counted in the statistics + for body bytes. They now are. + + + + It is now possible to adjust the maximum record length of + log entries in the shmlog by tuning the shm_reclen + parameter. + + + + The management parameters listed in the CLI were not + sorted, which made it hard to find the parameter you were + looking for. They are now sorted, which should make this + easier. + + + + Add a new hashing type, "critbit", which uses a lock-less + tree based lookup algorithm. This is experimental and should + not be enabled in production environments without proper + testing. + + + + The session workspace had a default size of 8k. It is + now 16k, which should make VCLs where many headers are + processed less prone to panics. + + + + We have seen that people seem to be confused as to which + actions in the different VCL functions return and which ones + don't. Add a new syntax return(action) to make + this more explicit. The old syntax is still supported. + + + + Varnish would return an error if any of the management + IPs listed in the -T parameter could not be + listened to. We now only return an error if none of them can + be listened to. + + + + In the case of the backend or client giving us too many + parameters, we used to just ignore the overflowing headers. + This is problematic if you end up ignoreing Content-Length, + Transfer-Encoding and similar headers. We now give out a 400 + error to the client if it sends us too many and 503 if we get + too many from the backend. + + + + We used panic if we got a too large chunked header. + This behaviour has been changed into just failing the + transaction. + + + + Varnish now supports an extended purge method where it is + possible to do purge req.http.host ~ "web1.com" && req.url ~ "\.png" + and similar. See the documentation for details. + + + + Under heavy load, Varnish would sometimes crash when + trying to update the per-request statistics. This has now been + fixed. + + + + It is now possible to not save the hash string in the + session and object workspace. This will save a lot of memory + on sites with many small objects. Disabling + the purge_hash parameter also disables + the purge.hash facility. + + + + Varnish now supports !~ as a "no match" + regular expression matcher. + + + + In some cases, you could get serialised access to "pass" + objects. We now make it default to the default_ttl value; this + can be overridden in vcl_fetch. + + + + Varnish did not check the syntax of regsub + calls properly. More checking has been added. + + + + If the client closed the connection while Varnish was + processing ESI elements, Varnish would crash while trying to + write the object to the client. We now check if the client has + closed the connection. + + + + The ESI parser had a bug where it would crash if an XML + comment would span storage segments. This has been + fixed. + + + + + VCL Manual page + + + The documentation on how capturing parentheses work was + wrong. This has been corrected. + + + + Grace has now been documented. + + + + + varnishreplay + + + varnishreplay did not work correctly on + Linux, due to a too small stack. This has now been fixed. + + + Added: trunk/varnish-cache/doc/changes-2.0.2.xml =================================================================== --- trunk/varnish-cache/doc/changes-2.0.2.xml (rev 0) +++ trunk/varnish-cache/doc/changes-2.0.2.xml 2010-03-17 09:19:25 UTC (rev 4625) @@ -0,0 +1,12 @@ + + + +]> + + + Varnish + 2.0.2 + + + Added: trunk/varnish-cache/doc/changes-2.0.4.xml =================================================================== --- trunk/varnish-cache/doc/changes-2.0.4.xml (rev 0) +++ trunk/varnish-cache/doc/changes-2.0.4.xml 2010-03-17 09:19:25 UTC (rev 4625) @@ -0,0 +1,12 @@ + + + +]> + + + Varnish + 2.0.4 + + + From phk at varnish-cache.org Wed Mar 17 09:38:47 2010 From: phk at varnish-cache.org (phk at varnish-cache.org) Date: Wed, 17 Mar 2010 10:38:47 +0100 Subject: r4626 - trunk/varnish-cache/lib/libvcl Message-ID: Author: phk Date: 2010-03-17 10:38:47 +0100 (Wed, 17 Mar 2010) New Revision: 4626 Modified: trunk/varnish-cache/lib/libvcl/vcc_action.c Log: Add a specific error message to explain -> return() syntax change Modified: trunk/varnish-cache/lib/libvcl/vcc_action.c =================================================================== --- trunk/varnish-cache/lib/libvcl/vcc_action.c 2010-03-17 09:19:25 UTC (rev 4625) +++ trunk/varnish-cache/lib/libvcl/vcc_action.c 2010-03-17 09:38:47 UTC (rev 4626) @@ -511,6 +511,17 @@ /*--------------------------------------------------------------------*/ +static void +parse_new_syntax(struct tokenlist *tl) +{ + + vsb_printf(tl->sb, "Please change \"%.*s\" to \"return(%.*s)\".\n", + PF(tl->t), PF(tl->t)); + vcc_ErrWhere(tl, tl->t); +} + +/*--------------------------------------------------------------------*/ + typedef void action_f(struct tokenlist *tl); static struct action_table { @@ -520,6 +531,11 @@ { "restart", parse_restart }, { "error", parse_error }, +#define VCL_RET_MAC(l, U) \ + { #l, parse_new_syntax }, +#include "vcl_returns.h" +#undef VCL_RET_MAC + /* Keep list sorted from here */ { "call", parse_call }, { "esi", parse_esi }, From phk at varnish-cache.org Thu Mar 18 08:15:51 2010 From: phk at varnish-cache.org (phk at varnish-cache.org) Date: Thu, 18 Mar 2010 09:15:51 +0100 Subject: r4627 - trunk/varnish-cache/lib/libvcl Message-ID: Author: phk Date: 2010-03-18 09:15:51 +0100 (Thu, 18 Mar 2010) New Revision: 4627 Modified: trunk/varnish-cache/lib/libvcl/vcc_token.c Log: Make it an error for a /*...*/ comment to contain /* Fixes #655 Modified: trunk/varnish-cache/lib/libvcl/vcc_token.c =================================================================== --- trunk/varnish-cache/lib/libvcl/vcc_token.c 2010-03-17 09:38:47 UTC (rev 4626) +++ trunk/varnish-cache/lib/libvcl/vcc_token.c 2010-03-18 08:15:51 UTC (rev 4627) @@ -355,6 +355,15 @@ /* Skip C-style comments */ if (*p == '/' && p[1] == '*') { for (q = p + 2; q < sp->e; q++) { + if (*q == '/' && q[1] == '*') { + vsb_printf(tl->sb, + "/* ... */ comment contains /*\n"); + vcc_AddToken(tl, EOI, p, p + 2); + vcc_ErrWhere(tl, tl->t); + vcc_AddToken(tl, EOI, q, q + 2); + vcc_ErrWhere(tl, tl->t); + return; + } if (*q == '*' && q[1] == '/') { p = q + 2; break; From phk at varnish-cache.org Thu Mar 18 08:20:25 2010 From: phk at varnish-cache.org (phk at varnish-cache.org) Date: Thu, 18 Mar 2010 09:20:25 +0100 Subject: r4628 - trunk/varnish-cache/bin/varnishtest/tests Message-ID: Author: phk Date: 2010-03-18 09:20:24 +0100 (Thu, 18 Mar 2010) New Revision: 4628 Added: trunk/varnish-cache/bin/varnishtest/tests/r00655.vtc Log: Add regression test for nested /* ... */ comments Added: trunk/varnish-cache/bin/varnishtest/tests/r00655.vtc =================================================================== --- trunk/varnish-cache/bin/varnishtest/tests/r00655.vtc (rev 0) +++ trunk/varnish-cache/bin/varnishtest/tests/r00655.vtc 2010-03-18 08:20:24 UTC (rev 4628) @@ -0,0 +1,11 @@ +# $Id$ + +test "Test nested /*...*/ comments " + + +varnish v1 -badvcl { + + /* foo + /* bar + */ +} From phk at varnish-cache.org Thu Mar 18 08:21:49 2010 From: phk at varnish-cache.org (phk at varnish-cache.org) Date: Thu, 18 Mar 2010 09:21:49 +0100 Subject: r4629 - trunk/varnish-cache/bin/varnishtest/tests Message-ID: Author: phk Date: 2010-03-18 09:21:49 +0100 (Thu, 18 Mar 2010) New Revision: 4629 Modified: trunk/varnish-cache/bin/varnishtest/tests/r00655.vtc Log: Set keyword Property changes on: trunk/varnish-cache/bin/varnishtest/tests/r00655.vtc ___________________________________________________________________ Added: svn:keywords + Id From phk at varnish-cache.org Thu Mar 18 10:13:34 2010 From: phk at varnish-cache.org (phk at varnish-cache.org) Date: Thu, 18 Mar 2010 11:13:34 +0100 Subject: r4630 - trunk/varnish-cache/bin/varnishd Message-ID: Author: phk Date: 2010-03-18 11:13:34 +0100 (Thu, 18 Mar 2010) New Revision: 4630 Modified: trunk/varnish-cache/bin/varnishd/cache_backend.c Log: Force a WSL_Flush() to make sure the shmrecords pertaining to a reused backend connection are chronological in the shmlog. Modified: trunk/varnish-cache/bin/varnishd/cache_backend.c =================================================================== --- trunk/varnish-cache/bin/varnishd/cache_backend.c 2010-03-18 08:21:49 UTC (rev 4629) +++ trunk/varnish-cache/bin/varnishd/cache_backend.c 2010-03-18 10:13:34 UTC (rev 4630) @@ -407,6 +407,11 @@ bp = sp->vbe->backend; WSL(sp->wrk, SLT_BackendReuse, sp->vbe->fd, "%s", bp->vcl_name); + /* + * Flush the shmlog, so that another session reusing this backend + * will log chronologically later than our use of it. + */ + WSL_Flush(sp->wrk, 0); Lck_Lock(&bp->mtx); VSL_stats->backend_recycle++; VTAILQ_INSERT_HEAD(&bp->connlist, sp->vbe, list); From phk at varnish-cache.org Thu Mar 18 11:13:54 2010 From: phk at varnish-cache.org (phk at varnish-cache.org) Date: Thu, 18 Mar 2010 12:13:54 +0100 Subject: r4631 - trunk/varnish-cache/bin/varnishd Message-ID: Author: phk Date: 2010-03-18 12:13:54 +0100 (Thu, 18 Mar 2010) New Revision: 4631 Modified: trunk/varnish-cache/bin/varnishd/cache_hash.c Log: Make sure to release the waiting list, if we give up caching before picking up the object body. Fixes #667 Modified: trunk/varnish-cache/bin/varnishd/cache_hash.c =================================================================== --- trunk/varnish-cache/bin/varnishd/cache_hash.c 2010-03-18 10:13:34 UTC (rev 4630) +++ trunk/varnish-cache/bin/varnishd/cache_hash.c 2010-03-18 11:13:54 UTC (rev 4631) @@ -154,6 +154,7 @@ AZ(oh->refcnt); assert(VTAILQ_EMPTY(&oh->objcs)); + assert(VTAILQ_EMPTY(&oh->waitinglist)); Lck_Delete(&oh->mtx); w->stats.n_objecthead--; FREE_OBJ(oh); @@ -571,6 +572,8 @@ Lck_Lock(&oh->mtx); assert(oc->objhead == oh); VTAILQ_REMOVE(&oh->objcs, oc, list); + if (oc->flags & OC_F_BUSY) + hsh_rush(oh); Lck_Unlock(&oh->mtx); oc->objhead = NULL; assert(oh->refcnt > 0); From phk at varnish-cache.org Thu Mar 18 11:14:36 2010 From: phk at varnish-cache.org (phk at varnish-cache.org) Date: Thu, 18 Mar 2010 12:14:36 +0100 Subject: r4632 - trunk/varnish-cache/bin/varnishtest/tests Message-ID: Author: phk Date: 2010-03-18 12:14:36 +0100 (Thu, 18 Mar 2010) New Revision: 4632 Added: trunk/varnish-cache/bin/varnishtest/tests/r00667.vtc Log: Regression test for #667 Added: trunk/varnish-cache/bin/varnishtest/tests/r00667.vtc =================================================================== --- trunk/varnish-cache/bin/varnishtest/tests/r00667.vtc (rev 0) +++ trunk/varnish-cache/bin/varnishtest/tests/r00667.vtc 2010-03-18 11:14:36 UTC (rev 4632) @@ -0,0 +1,42 @@ +# $Id$ + +test "things stuck on busy object" + +server s1 { + rxreq + sema r1 sync 2 + delay 1 + # There is a race in varnish between the first request releasing + # the backend connection, and the second request trying to get it + # which makes reuse of backend connection sometimes work and + # sometimes not. Solve by never reusing the backend connection. + txresp -hdr "Connection: close" -bodylen 2 + expect_close + accept + rxreq + txresp -bodylen 5 +} -start + + +varnish v1 -vcl+backend { + sub vcl_fetch { + set beresp.cacheable = false; + } +} -start + + +client c1 { + txreq + rxresp + expect resp.bodylen == 2 +} -start + +client c2 { + sema r1 sync 2 + txreq + rxresp + expect resp.bodylen == 5 +} -start + +client c1 -wait +client c2 -wait Property changes on: trunk/varnish-cache/bin/varnishtest/tests/r00667.vtc ___________________________________________________________________ Added: svn:keywords + Id From phk at varnish-cache.org Mon Mar 22 01:38:38 2010 From: phk at varnish-cache.org (phk at varnish-cache.org) Date: Mon, 22 Mar 2010 01:38:38 PM +0100 Subject: r4633 - trunk/varnish-cache/bin/varnishd Message-ID: Author: phk Date: 2010-03-19 23:46:17 +0100 (Fri, 19 Mar 2010) New Revision: 4633 Modified: trunk/varnish-cache/bin/varnishd/cache_hash.c Log: Remove invalid assert, the waitinglist is overloaded with the critbit cooling-list, making this check invalid. Spotted by: Justin Pasher Modified: trunk/varnish-cache/bin/varnishd/cache_hash.c =================================================================== --- trunk/varnish-cache/bin/varnishd/cache_hash.c 2010-03-18 11:14:36 UTC (rev 4632) +++ trunk/varnish-cache/bin/varnishd/cache_hash.c 2010-03-19 22:46:17 UTC (rev 4633) @@ -154,7 +154,6 @@ AZ(oh->refcnt); assert(VTAILQ_EMPTY(&oh->objcs)); - assert(VTAILQ_EMPTY(&oh->waitinglist)); Lck_Delete(&oh->mtx); w->stats.n_objecthead--; FREE_OBJ(oh); From phk at varnish-cache.org Fri Mar 19 22:46:17 2010 From: phk at varnish-cache.org (phk at varnish-cache.org) Date: Fri, 19 Mar 2010 23:46:17 +0100 Subject: r4633 - trunk/varnish-cache/bin/varnishd Message-ID: Author: phk Date: 2010-03-19 23:46:17 +0100 (Fri, 19 Mar 2010) New Revision: 4633 Modified: trunk/varnish-cache/bin/varnishd/cache_hash.c Log: Remove invalid assert, the waitinglist is overloaded with the critbit cooling-list, making this check invalid. Spotted by: Justin Pasher Modified: trunk/varnish-cache/bin/varnishd/cache_hash.c =================================================================== --- trunk/varnish-cache/bin/varnishd/cache_hash.c 2010-03-18 11:14:36 UTC (rev 4632) +++ trunk/varnish-cache/bin/varnishd/cache_hash.c 2010-03-19 22:46:17 UTC (rev 4633) @@ -154,7 +154,6 @@ AZ(oh->refcnt); assert(VTAILQ_EMPTY(&oh->objcs)); - assert(VTAILQ_EMPTY(&oh->waitinglist)); Lck_Delete(&oh->mtx); w->stats.n_objecthead--; FREE_OBJ(oh); From phk at varnish-cache.org Wed Mar 24 09:21:27 2010 From: phk at varnish-cache.org (phk at varnish-cache.org) Date: Wed, 24 Mar 2010 10:21:27 +0100 Subject: r4635 - trunk/varnish-cache/bin/varnishtest Message-ID: Author: phk Date: 2010-03-24 10:21:26 +0100 (Wed, 24 Mar 2010) New Revision: 4635 Modified: trunk/varnish-cache/bin/varnishtest/vtc_http.c trunk/varnish-cache/bin/varnishtest/vtc_server.c Log: Check accept(2) return for failure. Fixes #668 Modified: trunk/varnish-cache/bin/varnishtest/vtc_http.c =================================================================== --- trunk/varnish-cache/bin/varnishtest/vtc_http.c 2010-03-24 09:18:23 UTC (rev 4634) +++ trunk/varnish-cache/bin/varnishtest/vtc_http.c 2010-03-24 09:21:26 UTC (rev 4635) @@ -815,6 +815,8 @@ TCP_close(&hp->fd); vtc_log(vl, 4, "Accepting"); hp->fd = accept(hp->sfd, NULL, NULL); + if (hp->fd < 0) + vtc_log(vl, 0, "Accepted failed: %s", strerror(errno)); vtc_log(vl, 3, "Accepted socket fd is %d", hp->fd); } Modified: trunk/varnish-cache/bin/varnishtest/vtc_server.c =================================================================== --- trunk/varnish-cache/bin/varnishtest/vtc_server.c 2010-03-24 09:18:23 UTC (rev 4634) +++ trunk/varnish-cache/bin/varnishtest/vtc_server.c 2010-03-24 09:21:26 UTC (rev 4635) @@ -101,7 +101,8 @@ addr = (void*)&addr_s; l = sizeof addr_s; fd = accept(s->sock, addr, &l); - vtc_log(vl, 3, "Accepted socket fd is %d", fd); + if (fd < 0) + vtc_log(vl, 0, "Accepted failed: %s", strerror(errno)); http_process(vl, s->spec, fd, s->sock); vtc_log(vl, 3, "shutting fd %d", fd); assert((shutdown(fd, SHUT_WR) == 0) From tfheen at varnish-cache.org Wed Mar 24 09:18:25 2010 From: tfheen at varnish-cache.org (tfheen at varnish-cache.org) Date: Wed, 24 Mar 2010 10:18:25 +0100 Subject: r4634 - trunk/varnish-cache/doc Message-ID: Author: tfheen Date: 2010-03-24 10:18:23 +0100 (Wed, 24 Mar 2010) New Revision: 4634 Added: trunk/varnish-cache/doc/changes-2.0.6-2.1.0.xml trunk/varnish-cache/doc/changes-2.1.0.xml Modified: trunk/varnish-cache/doc/Makefile.am Log: Document changes from 2.0.6 to 2.1 Modified: trunk/varnish-cache/doc/Makefile.am =================================================================== --- trunk/varnish-cache/doc/Makefile.am 2010-03-19 22:46:17 UTC (rev 4633) +++ trunk/varnish-cache/doc/Makefile.am 2010-03-24 09:18:23 UTC (rev 4634) @@ -1,6 +1,7 @@ # $Id$ CHANGELOGS = \ + changes-2.1.0.html \ changes-2.0.6.html \ changes-2.0.5.html \ changes-2.0.4.html \ @@ -14,6 +15,7 @@ changes-1.0.4.html XML = \ + changes-2.0.6-2.1.0.xml \ changes-2.0.5-2.0.6.xml \ changes-2.0.4-2.0.5.xml \ changes-2.0.3-2.0.4.xml \ Added: trunk/varnish-cache/doc/changes-2.0.6-2.1.0.xml =================================================================== --- trunk/varnish-cache/doc/changes-2.0.6-2.1.0.xml (rev 0) +++ trunk/varnish-cache/doc/changes-2.0.6-2.1.0.xml 2010-03-24 09:18:23 UTC (rev 4634) @@ -0,0 +1,308 @@ + + +]> + + + + varnishd + + + Persistent storage is now experimentally supported using + the persistent stevedore. It has the same command + line arguments as the file stevedore. + + + + obj.* is now called beresp.* + in vcl_fetch, and obj.* is now + read-only. + + + + The regular expression engine is now PCRE instead of POSIX + regular expressions. + + + + req.* is now available + in vcl_deliver. + + + + Add saint mode where we can attempt to grace an object if + we don't like the backend response for some reason. + + Related, add saintmode_threshold which is the + threshold for the number of objects to be added to the trouble + list before the backend is considered sick. + + + + Add a new hashing method called critbit. This autoscales + and should work better on large object workloads than the + classic hash. Critbit has been made the default hash algorithm. + + + + When closing connections, we experimented with sending RST + to free up load balancers and free up threads more quickly. + This caused some problems with NAT routers and so has been + reverted for now. + + + + Add thread that checks objects against ban list in order + to prevent ban list from growing forever. Note that this + needs purges to be written so they don't depend + on req.*. Enabled by + setting ban_lurker_sleep to a nonzero + value. + + + + The shared memory log file format was limited to maximum + 64k simultaneous connections. This is now a 32 bit field which + removes this limitation. + + + + Remove obj_workspace, this is now sized automatically. + + + + + Rename acceptors to waiters + + + + vcl_prefetch has been removed. It was never + fully implemented. + + + + Add support for authenticating CLI connections. + + + + Add hash director that chooses which backend to use + depending on req.hash. + + + + Add client director that chooses which backend to use + depending on the client's IP address. Note that this ignores + the X-Forwarded-For header. + + + + varnishd now displays a banner by default + when you connect to the CLI. + + + + Increase performance somewhat by moving statistics + gathering into a per-worker structure that is regularly + flushed to the global stats. + + + + Make sure we store the header and body of object together. + This may in some cases improve performance and is needed for + persistence. + + + + Remove client-side address accounting. It was never used + for anything and presented a performance problem. + + + + Add a timestamp to bans, so you can know how old they are. + + + + Quite a few people got confused over the warning about not + being able to lock the shared memory log into RAM, so stop + warning about that. + + + + Change the default CLI timeout to 10 seconds. + + + + We previously forced all inserts into the cache to be GET + requests. This has been changed to allow POST as well in + order to be able to implement purge-on-POST semantics. + + + + The CLI command stats now only lists non-zero + values. + + + + The CLI command stats now only lists non-zero + values. + + + + Use daemon(3) from libcompat on + Darwin. + + + + Remove vcl_discard as it causes too much + complexity and never actually worked particularly well. + + + + Remove vcl_timeout as it causes too much + complexity and never actually worked particularly well. + + + + Update the documentation so it refers + to sess_workspace, not http_workspace. + + + + Document the -i switch + to varnishd as well as + the server.identity + and server.hostname VCL variables. + + + + purge.hash is now deprecated and no longer + shown in help listings.. + + + + When processing ESI, replace the five mandatory XML + entities when we encounter them. + + + + Add string representations of time and relative + time. + + + + Add locking for n_vbe_conn to make it stop + underflowing. + + + + When ESI-processing content, check for illegal XML + character entities. + + + + Varnish can now connect its CLI to a remote instance when + starting up, rather than just being connected to. + + + + It is no longer needed to specify the maximum number of + HTTP headers to allow from backends. This is now a run-time + parameter. + + + + The X-Forwarded-For header is now generated + by vcl_recv rather than the C code. + + + + It is now possible to not send all CLI traffic to + syslog. + + + + It is now possible to not send all CLI traffic to + syslog. + + + + In the case of varnish crashing, it now outputs a + identifying string with the OS, OS revision, architecture and + storage parameters together with the backtrace. + + + + Use exponential backoff when we run out of file + descriptors or sessions. + + + + Allow setting backend timeouts to zero. + + + + Count uptime in the shared memory log. + + + + Try to detect the case of two running varnishes with the + same shmlog and storage by writing the master and child process + ids to the shmlog and refusing to start if they are still + running. + + + + Make sure to use EOF mode when serving ESI content to + HTTP/1.0 clients. + + + + Make sure we close the connection if it either + sends Connection: close or it is a HTTP/1.0 + backend that does not send Connection: + keep-alive. + + + + Increase the default session workspace to 64k on 64-bit + systems. + + + + Make the epoll waiter use level triggering, + not edge triggering as edge triggering caused problems on very + busy servers. + + + + Handle unforeseen client disconnections better on Solaris. + + + + Make session lingering apply to new sessions, not just + reused sessions. + + + + varnishstat + + + Make use of the new uptime field in the shared memory log + rather than synthesizing it from the start time. + + + + varnishlog + + + Exit at the end of the file when started + with -d. + + + +varnishadm: + - timeout support + - secret support + - handle cli banner + + Added: trunk/varnish-cache/doc/changes-2.1.0.xml =================================================================== --- trunk/varnish-cache/doc/changes-2.1.0.xml (rev 0) +++ trunk/varnish-cache/doc/changes-2.1.0.xml 2010-03-24 09:18:23 UTC (rev 4634) @@ -0,0 +1,12 @@ + + + +]> + + + Varnish + 2.1 + + + From tfheen at varnish-cache.org Wed Mar 24 09:23:57 2010 From: tfheen at varnish-cache.org (tfheen at varnish-cache.org) Date: Wed, 24 Mar 2010 10:23:57 +0100 Subject: r4636 - branches Message-ID: Author: tfheen Date: 2010-03-24 10:23:56 +0100 (Wed, 24 Mar 2010) New Revision: 4636 Added: branches/2.1/ Log: Branch 2.1 From tfheen at varnish-cache.org Wed Mar 24 09:48:26 2010 From: tfheen at varnish-cache.org (tfheen at varnish-cache.org) Date: Wed, 24 Mar 2010 10:48:26 +0100 Subject: r4638 - branches/2.1/varnish-cache Message-ID: Author: tfheen Date: 2010-03-24 10:48:24 +0100 (Wed, 24 Mar 2010) New Revision: 4638 Modified: branches/2.1/varnish-cache/configure.ac Log: Update version number and copyright Modified: branches/2.1/varnish-cache/configure.ac =================================================================== --- branches/2.1/varnish-cache/configure.ac 2010-03-24 09:48:24 UTC (rev 4637) +++ branches/2.1/varnish-cache/configure.ac 2010-03-24 09:48:24 UTC (rev 4638) @@ -2,9 +2,10 @@ AC_PREREQ(2.59) AC_COPYRIGHT([Copyright (c) 2006 Verdens Gang AS -Copyright (c) 2006-2009 Linpro AS]) +Copyright (c) 2006-2010 Redpill Linpro AS +Copyright (c) 2010 Varnish Software AS]) AC_REVISION([$Id$]) -AC_INIT([Varnish], [trunk], [varnish-dev at projects.linpro.no]) +AC_INIT([Varnish], [2.1], [varnish-dev at projects.linpro.no]) AC_CONFIG_SRCDIR(include/varnishapi.h) AM_CONFIG_HEADER(config.h) From phk at varnish-cache.org Wed Mar 24 09:48:25 2010 From: phk at varnish-cache.org (phk at varnish-cache.org) Date: Wed, 24 Mar 2010 10:48:25 +0100 Subject: r4637 - in trunk/varnish-cache: bin/varnishadm bin/varnishd lib/libvcl Message-ID: Author: phk Date: 2010-03-24 10:48:24 +0100 (Wed, 24 Mar 2010) New Revision: 4637 Modified: trunk/varnish-cache/bin/varnishadm/varnishadm.c trunk/varnish-cache/bin/varnishd/mgt_pool.c trunk/varnish-cache/lib/libvcl/vcc_parse.c Log: White-space fixups Modified: trunk/varnish-cache/bin/varnishadm/varnishadm.c =================================================================== --- trunk/varnish-cache/bin/varnishadm/varnishadm.c 2010-03-24 09:23:56 UTC (rev 4636) +++ trunk/varnish-cache/bin/varnishadm/varnishadm.c 2010-03-24 09:48:24 UTC (rev 4637) @@ -169,7 +169,7 @@ assert(i > 0); if (fds[0].revents & POLLIN) { n = read(fds[0].fd, buf, sizeof buf); - if (n == 0) + if (n == 0) exit (0); if (n < 0) { perror("Read error reading CLI socket"); @@ -241,9 +241,9 @@ assert(T_arg != NULL); sock = cli_sock(T_arg, S_arg); - if (argc > 0) + if (argc > 0) do_args(sock, argc, argv); - else + else pass(sock); exit(0); Modified: trunk/varnish-cache/bin/varnishd/mgt_pool.c =================================================================== --- trunk/varnish-cache/bin/varnishd/mgt_pool.c 2010-03-24 09:23:56 UTC (rev 4636) +++ trunk/varnish-cache/bin/varnishd/mgt_pool.c 2010-03-24 09:48:24 UTC (rev 4637) @@ -68,7 +68,7 @@ } /*-------------------------------------------------------------------- - * This is utterly ridiculous: POSIX does not guarantee that the + * This is utterly ridiculous: POSIX does not guarantee that the * minimum thread stack size is a compile time constant. * XXX: "32" is a magic marker for 32bit systems. */ Modified: trunk/varnish-cache/lib/libvcl/vcc_parse.c =================================================================== --- trunk/varnish-cache/lib/libvcl/vcc_parse.c 2010-03-24 09:23:56 UTC (rev 4636) +++ trunk/varnish-cache/lib/libvcl/vcc_parse.c 2010-03-24 09:48:24 UTC (rev 4637) @@ -569,7 +569,7 @@ /*-------------------------------------------------------------------- * Top level of parser, recognize: - * Inline C-code + * Inline C-code * ACL definitions * Function definitions * Backend & Director definitions From tfheen at varnish-cache.org Wed Mar 24 10:07:45 2010 From: tfheen at varnish-cache.org (tfheen at varnish-cache.org) Date: Wed, 24 Mar 2010 11:07:45 +0100 Subject: r4639 - branches/2.1/varnish-cache/lib/libvcl Message-ID: Author: tfheen Date: 2010-03-24 11:07:45 +0100 (Wed, 24 Mar 2010) New Revision: 4639 Modified: branches/2.1/varnish-cache/lib/libvcl/vcc_fixed_token.c branches/2.1/varnish-cache/lib/libvcl/vcc_obj.c Log: regenerate automatically generated files Modified: branches/2.1/varnish-cache/lib/libvcl/vcc_fixed_token.c =================================================================== --- branches/2.1/varnish-cache/lib/libvcl/vcc_fixed_token.c 2010-03-24 09:48:24 UTC (rev 4638) +++ branches/2.1/varnish-cache/lib/libvcl/vcc_fixed_token.c 2010-03-24 10:07:45 UTC (rev 4639) @@ -1,5 +1,5 @@ /* - * $Id$ + * $Id: vcc_gen_fixed_token.tcl 4428 2010-01-06 17:38:59Z tfheen $ * * NB: This file is machine generated, DO NOT EDIT! * @@ -159,9 +159,10 @@ /* ../../include/vcl.h */ - vsb_cat(sb, "/*\n * $Id$\n *\n * NB: This file is machine generate"); - vsb_cat(sb, "d, DO NOT EDIT!\n *\n * Edit and run vcc_gen_fixed_tok"); - vsb_cat(sb, "en.tcl instead\n */\n\nstruct sess;\n"); + vsb_cat(sb, "/*\n * $Id: vcc_gen_fixed_token.tcl 4428 2010-01-06 17"); + vsb_cat(sb, ":38:59Z tfheen $\n *\n * NB: This file is machine gen"); + vsb_cat(sb, "erated, DO NOT EDIT!\n *\n * Edit and run vcc_gen_fixe"); + vsb_cat(sb, "d_token.tcl instead\n */\n\nstruct sess;\n"); vsb_cat(sb, "struct cli;\n\ntypedef void vcl_init_f(struct cli *);\n"); vsb_cat(sb, "typedef void vcl_fini_f(struct cli *);\n"); vsb_cat(sb, "typedef int vcl_func_f(struct sess *sp);\n"); @@ -226,16 +227,16 @@ vsb_cat(sb, " * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWI"); vsb_cat(sb, "SE) ARISING IN ANY WAY\n * OUT OF THE USE OF THIS SOFT"); vsb_cat(sb, "WARE, EVEN IF ADVISED OF THE POSSIBILITY OF\n"); - vsb_cat(sb, " * SUCH DAMAGE.\n *\n * $Id$\n *\n"); - vsb_cat(sb, " * Runtime support for compiled VCL programs.\n"); - vsb_cat(sb, " *\n * XXX: When this file is changed, lib/libvcl/vcc_"); - vsb_cat(sb, "gen_fixed_token.tcl\n * XXX: *MUST* be rerun.\n"); - vsb_cat(sb, " */\n\nstruct sess;\nstruct vsb;\n"); - vsb_cat(sb, "struct cli;\nstruct director;\n"); - vsb_cat(sb, "struct VCL_conf;\nstruct sockaddr;\n"); - vsb_cat(sb, "\n/*\n * A backend probe specification\n"); - vsb_cat(sb, " */\n\nextern const void * const vrt_magic_string_end;"); - vsb_cat(sb, "\n\nstruct vrt_backend_probe {\n"); + vsb_cat(sb, " * SUCH DAMAGE.\n *\n * $Id: vrt.h 4428 2010-01-06 17:"); + vsb_cat(sb, "38:59Z tfheen $\n *\n * Runtime support for compiled V"); + vsb_cat(sb, "CL programs.\n *\n * XXX: When this file is changed, l"); + vsb_cat(sb, "ib/libvcl/vcc_gen_fixed_token.tcl\n"); + vsb_cat(sb, " * XXX: *MUST* be rerun.\n */\n"); + vsb_cat(sb, "\nstruct sess;\nstruct vsb;\nstruct cli;\n"); + vsb_cat(sb, "struct director;\nstruct VCL_conf;\n"); + vsb_cat(sb, "struct sockaddr;\n\n/*\n * A backend probe specificati"); + vsb_cat(sb, "on\n */\n\nextern const void * const vrt_magic_string_"); + vsb_cat(sb, "end;\n\nstruct vrt_backend_probe {\n"); vsb_cat(sb, "\tconst char\t*url;\n\tconst char\t*request;\n"); vsb_cat(sb, "\tdouble\t\ttimeout;\n\tdouble\t\tinterval;\n"); vsb_cat(sb, "\tunsigned\texp_status;\n\tunsigned\twindow;\n"); @@ -311,25 +312,27 @@ /* ../../include/vrt_obj.h */ - vsb_cat(sb, "/*\n * $Id$\n *\n * NB: This file is machine generate"); - vsb_cat(sb, "d, DO NOT EDIT!\n *\n * Edit and run vcc_gen_fixed_tok"); - vsb_cat(sb, "en.tcl instead\n */\n\nstruct sockaddr * VRT_r_client_"); - vsb_cat(sb, "ip(const struct sess *);\nstruct sockaddr * VRT_r_serv"); - vsb_cat(sb, "er_ip(struct sess *);\nconst char * VRT_r_server_hostn"); - vsb_cat(sb, "ame(struct sess *);\nconst char * VRT_r_server_identit"); - vsb_cat(sb, "y(struct sess *);\nint VRT_r_server_port(struct sess *"); - vsb_cat(sb, ");\nconst char * VRT_r_req_request(const struct sess *"); - vsb_cat(sb, ");\nvoid VRT_l_req_request(const struct sess *, const "); - vsb_cat(sb, "char *, ...);\nconst char * VRT_r_req_url(const struct"); - vsb_cat(sb, " sess *);\nvoid VRT_l_req_url(const struct sess *, con"); - vsb_cat(sb, "st char *, ...);\nconst char * VRT_r_req_proto(const s"); - vsb_cat(sb, "truct sess *);\nvoid VRT_l_req_proto(const struct sess"); - vsb_cat(sb, " *, const char *, ...);\nvoid VRT_l_req_hash(struct se"); - vsb_cat(sb, "ss *, const char *);\nstruct director * VRT_r_req_back"); - vsb_cat(sb, "end(struct sess *);\nvoid VRT_l_req_backend(struct ses"); - vsb_cat(sb, "s *, struct director *);\nint VRT_r_req_restarts(const"); - vsb_cat(sb, " struct sess *);\ndouble VRT_r_req_grace(struct sess *"); - vsb_cat(sb, ");\nvoid VRT_l_req_grace(struct sess *, double);\n"); + vsb_cat(sb, "/*\n * $Id: vcc_gen_fixed_token.tcl 4428 2010-01-06 17"); + vsb_cat(sb, ":38:59Z tfheen $\n *\n * NB: This file is machine gen"); + vsb_cat(sb, "erated, DO NOT EDIT!\n *\n * Edit and run vcc_gen_fixe"); + vsb_cat(sb, "d_token.tcl instead\n */\n\nstruct sockaddr * VRT_r_cl"); + vsb_cat(sb, "ient_ip(const struct sess *);\n"); + vsb_cat(sb, "struct sockaddr * VRT_r_server_ip(struct sess *);\n"); + vsb_cat(sb, "const char * VRT_r_server_hostname(struct sess *);\n"); + vsb_cat(sb, "const char * VRT_r_server_identity(struct sess *);\n"); + vsb_cat(sb, "int VRT_r_server_port(struct sess *);\n"); + vsb_cat(sb, "const char * VRT_r_req_request(const struct sess *);\n"); + vsb_cat(sb, "void VRT_l_req_request(const struct sess *, const char"); + vsb_cat(sb, " *, ...);\nconst char * VRT_r_req_url(const struct ses"); + vsb_cat(sb, "s *);\nvoid VRT_l_req_url(const struct sess *, const c"); + vsb_cat(sb, "har *, ...);\nconst char * VRT_r_req_proto(const struc"); + vsb_cat(sb, "t sess *);\nvoid VRT_l_req_proto(const struct sess *, "); + vsb_cat(sb, "const char *, ...);\nvoid VRT_l_req_hash(struct sess *"); + vsb_cat(sb, ", const char *);\nstruct director * VRT_r_req_backend("); + vsb_cat(sb, "struct sess *);\nvoid VRT_l_req_backend(struct sess *,"); + vsb_cat(sb, " struct director *);\nint VRT_r_req_restarts(const str"); + vsb_cat(sb, "uct sess *);\ndouble VRT_r_req_grace(struct sess *);\n"); + vsb_cat(sb, "void VRT_l_req_grace(struct sess *, double);\n"); vsb_cat(sb, "const char * VRT_r_req_xid(struct sess *);\n"); vsb_cat(sb, "unsigned VRT_r_req_esi(struct sess *);\n"); vsb_cat(sb, "void VRT_l_req_esi(struct sess *, unsigned);\n"); Modified: branches/2.1/varnish-cache/lib/libvcl/vcc_obj.c =================================================================== --- branches/2.1/varnish-cache/lib/libvcl/vcc_obj.c 2010-03-24 09:48:24 UTC (rev 4638) +++ branches/2.1/varnish-cache/lib/libvcl/vcc_obj.c 2010-03-24 10:07:45 UTC (rev 4639) @@ -1,5 +1,5 @@ /* - * $Id$ + * $Id: vcc_gen_fixed_token.tcl 4428 2010-01-06 17:38:59Z tfheen $ * * NB: This file is machine generated, DO NOT EDIT! * From tfheen at varnish-cache.org Wed Mar 24 10:17:56 2010 From: tfheen at varnish-cache.org (tfheen at varnish-cache.org) Date: Wed, 24 Mar 2010 11:17:56 +0100 Subject: r4640 - trunk/varnish-cache/doc Message-ID: Author: tfheen Date: 2010-03-24 11:17:56 +0100 (Wed, 24 Mar 2010) New Revision: 4640 Modified: trunk/varnish-cache/doc/changes-2.0.1-2.0.2.xml trunk/varnish-cache/doc/changes-2.0.2.xml trunk/varnish-cache/doc/changes-2.0.3-2.0.4.xml trunk/varnish-cache/doc/changes-2.0.3.xml trunk/varnish-cache/doc/changes-2.0.4-2.0.5.xml trunk/varnish-cache/doc/changes-2.0.4.xml trunk/varnish-cache/doc/changes-2.0.5-2.0.6.xml trunk/varnish-cache/doc/changes-2.0.5.xml trunk/varnish-cache/doc/changes-2.0.6-2.1.0.xml trunk/varnish-cache/doc/changes-2.0.6.xml Log: Expand the Id keyword Property changes on: trunk/varnish-cache/doc/changes-2.0.1-2.0.2.xml ___________________________________________________________________ Added: svn:keywords + Id Property changes on: trunk/varnish-cache/doc/changes-2.0.2.xml ___________________________________________________________________ Added: svn:keywords + Id Property changes on: trunk/varnish-cache/doc/changes-2.0.3-2.0.4.xml ___________________________________________________________________ Added: svn:keywords + Id Property changes on: trunk/varnish-cache/doc/changes-2.0.3.xml ___________________________________________________________________ Added: svn:keywords + Id Property changes on: trunk/varnish-cache/doc/changes-2.0.4-2.0.5.xml ___________________________________________________________________ Added: svn:keywords + Id Property changes on: trunk/varnish-cache/doc/changes-2.0.4.xml ___________________________________________________________________ Added: svn:keywords + Id Property changes on: trunk/varnish-cache/doc/changes-2.0.5-2.0.6.xml ___________________________________________________________________ Added: svn:keywords + Id Property changes on: trunk/varnish-cache/doc/changes-2.0.5.xml ___________________________________________________________________ Added: svn:keywords + Id Property changes on: trunk/varnish-cache/doc/changes-2.0.6-2.1.0.xml ___________________________________________________________________ Added: svn:keywords + Id Property changes on: trunk/varnish-cache/doc/changes-2.0.6.xml ___________________________________________________________________ Added: svn:keywords + Id From tfheen at varnish-cache.org Wed Mar 24 10:36:56 2010 From: tfheen at varnish-cache.org (tfheen at varnish-cache.org) Date: Wed, 24 Mar 2010 11:36:56 +0100 Subject: r4641 - in branches/2.1: . varnish-cache/doc Message-ID: Author: tfheen Date: 2010-03-24 11:36:56 +0100 (Wed, 24 Mar 2010) New Revision: 4641 Modified: branches/2.1/ branches/2.1/varnish-cache/doc/changes-2.0.1-2.0.2.xml branches/2.1/varnish-cache/doc/changes-2.0.2.xml branches/2.1/varnish-cache/doc/changes-2.0.3-2.0.4.xml branches/2.1/varnish-cache/doc/changes-2.0.3.xml branches/2.1/varnish-cache/doc/changes-2.0.4-2.0.5.xml branches/2.1/varnish-cache/doc/changes-2.0.4.xml branches/2.1/varnish-cache/doc/changes-2.0.5-2.0.6.xml branches/2.1/varnish-cache/doc/changes-2.0.5.xml branches/2.1/varnish-cache/doc/changes-2.0.6-2.1.0.xml branches/2.1/varnish-cache/doc/changes-2.0.6.xml Log: Merge 4640: Expand the Id keyword Property changes on: branches/2.1 ___________________________________________________________________ Added: svn:mergeinfo + /trunk:4640 Property changes on: branches/2.1/varnish-cache/doc/changes-2.0.1-2.0.2.xml ___________________________________________________________________ Added: svn:keywords + Id Property changes on: branches/2.1/varnish-cache/doc/changes-2.0.2.xml ___________________________________________________________________ Added: svn:keywords + Id Property changes on: branches/2.1/varnish-cache/doc/changes-2.0.3-2.0.4.xml ___________________________________________________________________ Added: svn:keywords + Id Property changes on: branches/2.1/varnish-cache/doc/changes-2.0.3.xml ___________________________________________________________________ Added: svn:keywords + Id Property changes on: branches/2.1/varnish-cache/doc/changes-2.0.4-2.0.5.xml ___________________________________________________________________ Added: svn:keywords + Id Property changes on: branches/2.1/varnish-cache/doc/changes-2.0.4.xml ___________________________________________________________________ Added: svn:keywords + Id Property changes on: branches/2.1/varnish-cache/doc/changes-2.0.5-2.0.6.xml ___________________________________________________________________ Added: svn:keywords + Id Property changes on: branches/2.1/varnish-cache/doc/changes-2.0.5.xml ___________________________________________________________________ Added: svn:keywords + Id Property changes on: branches/2.1/varnish-cache/doc/changes-2.0.6-2.1.0.xml ___________________________________________________________________ Added: svn:keywords + Id Property changes on: branches/2.1/varnish-cache/doc/changes-2.0.6.xml ___________________________________________________________________ Added: svn:keywords + Id From tfheen at varnish-cache.org Wed Mar 24 10:37:46 2010 From: tfheen at varnish-cache.org (tfheen at varnish-cache.org) Date: Wed, 24 Mar 2010 11:37:46 +0100 Subject: r4642 - in tags: . varnish-2.1.0 Message-ID: Author: tfheen Date: 2010-03-24 11:37:45 +0100 (Wed, 24 Mar 2010) New Revision: 4642 Added: tags/varnish-2.1.0/ Log: Release 2.1.0 Property changes on: tags/varnish-2.1.0 ___________________________________________________________________ Added: svn:ignore + .deps Makefile Makefile.in aclocal.m4 autom4te.cache compile config.guess config.h config.h.in config.log config.status config.sub configure depcomp install-sh missing stamp-h1 varnish Added: svn:mergeinfo + /trunk:4640 From tfheen at varnish-cache.org Wed Mar 24 12:41:55 2010 From: tfheen at varnish-cache.org (tfheen at varnish-cache.org) Date: Wed, 24 Mar 2010 13:41:55 +0100 Subject: r4643 - trunk/varnish-cache/doc Message-ID: Author: tfheen Date: 2010-03-24 13:41:53 +0100 (Wed, 24 Mar 2010) New Revision: 4643 Modified: trunk/varnish-cache/doc/changes-2.0.6-2.1.0.xml Log: Fix syntax errors, add some more changes Modified: trunk/varnish-cache/doc/changes-2.0.6-2.1.0.xml =================================================================== --- trunk/varnish-cache/doc/changes-2.0.6-2.1.0.xml 2010-03-24 10:37:45 UTC (rev 4642) +++ trunk/varnish-cache/doc/changes-2.0.6-2.1.0.xml 2010-03-24 12:41:53 UTC (rev 4643) @@ -48,7 +48,7 @@ When closing connections, we experimented with sending RST to free up load balancers and free up threads more quickly. This caused some problems with NAT routers and so has been - reverted for now. + reverted for now. @@ -176,7 +176,7 @@ purge.hash is now deprecated and no longer - shown in help listings.. + shown in help listings. @@ -298,11 +298,19 @@ Exit at the end of the file when started with -d. + + + varnishadm -varnishadm: - - timeout support - - secret support - - handle cli banner + + varnishadm can now have a timeout when trying + to connect to the running varnishd. + + + varnishadm now knows how to respond to the + secret from a secured varnishd + + From phk at varnish-cache.org Fri Mar 26 11:31:21 2010 From: phk at varnish-cache.org (phk at varnish-cache.org) Date: Fri, 26 Mar 2010 12:31:21 +0100 Subject: r4644 - trunk/varnish-cache/bin/varnishtest/tests Message-ID: Author: phk Date: 2010-03-26 12:31:20 +0100 (Fri, 26 Mar 2010) New Revision: 4644 Modified: trunk/varnish-cache/bin/varnishtest/tests/e00003.vtc Log: Add another client cycle, to make sure there is no difference between miss/hit ESI processing Modified: trunk/varnish-cache/bin/varnishtest/tests/e00003.vtc =================================================================== --- trunk/varnish-cache/bin/varnishtest/tests/e00003.vtc 2010-03-24 12:41:53 UTC (rev 4643) +++ trunk/varnish-cache/bin/varnishtest/tests/e00003.vtc 2010-03-26 11:31:20 UTC (rev 4644) @@ -29,6 +29,11 @@ rxresp expect resp.bodylen == 65 expect resp.status == 200 + # test that there is no difference on miss/hit + txreq + rxresp + expect resp.bodylen == 65 + expect resp.status == 200 } client c1 -run From phk at varnish-cache.org Tue Mar 30 11:10:17 2010 From: phk at varnish-cache.org (phk at varnish-cache.org) Date: Tue, 30 Mar 2010 13:10:17 +0200 Subject: r4645 - trunk/varnish-cache/bin/varnishd Message-ID: Author: phk Date: 2010-03-30 13:10:16 +0200 (Tue, 30 Mar 2010) New Revision: 4645 Modified: trunk/varnish-cache/bin/varnishd/mgt_param.c Log: Fix formatting mistake, add explanation. 2.1 candidate Modified: trunk/varnish-cache/bin/varnishd/mgt_param.c =================================================================== --- trunk/varnish-cache/bin/varnishd/mgt_param.c 2010-03-26 11:31:20 UTC (rev 4644) +++ trunk/varnish-cache/bin/varnishd/mgt_param.c 2010-03-30 11:10:16 UTC (rev 4645) @@ -548,9 +548,11 @@ { "default_grace", tweak_uint, &master.default_grace, 0, UINT_MAX, "Default grace period. We will deliver an object " "this long after it has expired, provided another thread " - "is attempting to get a new copy.", + "is attempting to get a new copy.\n" + "Objects already cached will not be affected by changes " + "made until they are fetched from the backend again.\n", DELAYED_EFFECT, - "10" "seconds" }, + "10", "seconds" }, { "sess_timeout", tweak_timeout, &master.sess_timeout, 0, 0, "Idle timeout for persistent sessions. " "If a HTTP request has not been received in this many "