From varnish-bugs at projects.linpro.no Wed Sep 6 09:57:57 2006 From: varnish-bugs at projects.linpro.no (Varnish) Date: Wed, 06 Sep 2006 09:57:57 -0000 Subject: [Varnish] #41: HTTP header with space before colon Message-ID: <077.1725c5ec0827540213c9c9a8777838ab@projects.linpro.no> #41: HTTP header with space before colon ----------------------+----------------------------------------------------- Reporter: phk | Owner: phk Type: defect | Status: new Priority: normal | Milestone: Component: varnishd | Version: Severity: normal | Keywords: ----------------------+----------------------------------------------------- I've just spotted this header (www.ing.dk): {{{Set-Cookie : PBCSPER...}}} we need to handle that. -- Ticket URL: Varnish The Varnish HTTP Accelerator From varnish-bugs at projects.linpro.no Wed Sep 6 10:10:50 2006 From: varnish-bugs at projects.linpro.no (Varnish) Date: Wed, 06 Sep 2006 10:10:50 -0000 Subject: [Varnish] #34: req.http.host -> req.host In-Reply-To: <077.c207b47aaa1e01a1472e608bccb9e170@projects.linpro.no> References: <077.c207b47aaa1e01a1472e608bccb9e170@projects.linpro.no> Message-ID: <086.88309eebf0a529ff276135dba8ecbe60@projects.linpro.no> #34: req.http.host -> req.host -------------------------+-------------------------------------------------- Reporter: des | Owner: des Type: enhancement | Status: closed Priority: normal | Milestone: Component: varnishd | Version: trunk Severity: normal | Resolution: wontfix Keywords: | -------------------------+-------------------------------------------------- Changes (by phk): * status: new => closed * resolution: => wontfix -- Ticket URL: Varnish The Varnish HTTP Accelerator From varnish-bugs at projects.linpro.no Wed Sep 6 10:11:52 2006 From: varnish-bugs at projects.linpro.no (Varnish) Date: Wed, 06 Sep 2006 10:11:52 -0000 Subject: [Varnish] #19: HTTP purge In-Reply-To: <077.0231b5ed44308b55454b332770538e01@projects.linpro.no> References: <077.0231b5ed44308b55454b332770538e01@projects.linpro.no> Message-ID: <086.66e1f063279b9b8d54ba36604e2e10ff@projects.linpro.no> #19: HTTP purge -------------------------+-------------------------------------------------- Reporter: des | Owner: phk Type: enhancement | Status: new Priority: normal | Milestone: Component: varnishd | Version: trunk Severity: normal | Resolution: Keywords: | -------------------------+-------------------------------------------------- Comment (by phk): Partially implmented: If a precise URL is specified it can be done in VCL now. -- Ticket URL: Varnish The Varnish HTTP Accelerator From varnish-bugs at projects.linpro.no Wed Sep 6 10:12:45 2006 From: varnish-bugs at projects.linpro.no (Varnish) Date: Wed, 06 Sep 2006 10:12:45 -0000 Subject: [Varnish] #38: Fault tree for performance diagnosis In-Reply-To: <077.fd93c72b201dddfe334bbfe7abfee800@projects.linpro.no> References: <077.fd93c72b201dddfe334bbfe7abfee800@projects.linpro.no> Message-ID: <086.839d04fd93a390f8ac92e4d6600f8ed3@projects.linpro.no> #38: Fault tree for performance diagnosis ----------------------+----------------------------------------------------- Reporter: phk | Owner: phk Type: defect | Status: closed Priority: normal | Milestone: Component: varnishd | Version: Severity: normal | Resolution: fixed Keywords: | ----------------------+----------------------------------------------------- Changes (by phk): * status: new => closed * resolution: => fixed Comment: This one is overtaken by fixes in the code. -- Ticket URL: Varnish The Varnish HTTP Accelerator From varnish-bugs at projects.linpro.no Wed Sep 6 10:13:54 2006 From: varnish-bugs at projects.linpro.no (Varnish) Date: Wed, 06 Sep 2006 10:13:54 -0000 Subject: [Varnish] #8: VCL completeness In-Reply-To: <077.7979b52fb0357c3954d7c8dc56013c2e@projects.linpro.no> References: <077.7979b52fb0357c3954d7c8dc56013c2e@projects.linpro.no> Message-ID: <086.8c13cd91512658b09bad44cbde1caa9d@projects.linpro.no> #8: VCL completeness ----------------------+----------------------------------------------------- Reporter: des | Owner: phk Type: defect | Status: new Priority: normal | Milestone: Varnish 1.0 Component: varnishd | Version: trunk Severity: normal | Resolution: Keywords: | ----------------------+----------------------------------------------------- Old description: > Situation: > VCL can't do much yet. > > What needs to be done: > Go through our list, implement in proritized order New description: Situation: VCL can't do much yet. What needs to be done: Go through our list, implement in proritized order We need to annotate the objects with which methods they are valid in, for instance resp.http is not available outside vcl_fetch() -- Ticket URL: Varnish The Varnish HTTP Accelerator From varnish-bugs at projects.linpro.no Wed Sep 6 10:15:32 2006 From: varnish-bugs at projects.linpro.no (Varnish) Date: Wed, 06 Sep 2006 10:15:32 -0000 Subject: [Varnish] #8: VCL completeness In-Reply-To: <077.7979b52fb0357c3954d7c8dc56013c2e@projects.linpro.no> References: <077.7979b52fb0357c3954d7c8dc56013c2e@projects.linpro.no> Message-ID: <086.4a4c308aff677792bc857ddbb6dd39cf@projects.linpro.no> #8: VCL completeness ----------------------+----------------------------------------------------- Reporter: des | Owner: phk Type: defect | Status: new Priority: normal | Milestone: Varnish 1.0 Component: varnishd | Version: trunk Severity: normal | Resolution: Keywords: | ----------------------+----------------------------------------------------- Old description: > Situation: > VCL can't do much yet. > > What needs to be done: > Go through our list, implement in proritized order > > We need to annotate the objects with which methods they are valid in, for > instance resp.http is not available outside vcl_fetch() New description: Situation: VCL can't do much yet. What needs to be done: Go through our list, implement in proritized order We need to annotate the objects with which methods they are valid in, for instance resp.http is not available outside vcl_fetch(). If the compiler can see that an unavailable object is manipulated, it should warn about it, but if visibility is lost due to subroutine calls the object reference should fail in principle of least astonishment fashion. -- Ticket URL: Varnish The Varnish HTTP Accelerator From varnish-bugs at projects.linpro.no Wed Sep 6 10:26:28 2006 From: varnish-bugs at projects.linpro.no (Varnish) Date: Wed, 06 Sep 2006 10:26:28 -0000 Subject: [Varnish] #41: HTTP header with space before colon In-Reply-To: <077.1725c5ec0827540213c9c9a8777838ab@projects.linpro.no> References: <077.1725c5ec0827540213c9c9a8777838ab@projects.linpro.no> Message-ID: <086.c6d45705a3301d3b53f66120fd82673e@projects.linpro.no> #41: HTTP header with space before colon ----------------------+----------------------------------------------------- Reporter: phk | Owner: phk Type: defect | Status: closed Priority: normal | Milestone: Component: varnishd | Version: Severity: normal | Resolution: invalid Keywords: | ----------------------+----------------------------------------------------- Changes (by phk): * status: new => closed * resolution: => invalid Comment: On closer inspection RFC2616 does not seem to condone this practice, the controlling definitions are: {{{ [2.2] CTL = [...] token = 1* separators = "(" | ")" | "<" | ">" | "@" | "," | ";" | ":" | "\" | <"> | "/" | "[" | "]" | "?" | "=" | "{" | "}" | SP | HT [4.3] message-header = field-name ":" [ field-value ] field-name = token }}} Considering that ing.dk has had problems with their login system, and cookies have been first suspect, I'll close ticket again, having sent them a hint via email about it. -- Ticket URL: Varnish The Varnish HTTP Accelerator From varnish-bugs at projects.linpro.no Thu Sep 7 11:00:38 2006 From: varnish-bugs at projects.linpro.no (Varnish) Date: Thu, 07 Sep 2006 11:00:38 -0000 Subject: [Varnish] #14: storage_file.c allocation strategy In-Reply-To: <077.60b196af8cb8e7a912678b51f7be4ab1@projects.linpro.no> References: <077.60b196af8cb8e7a912678b51f7be4ab1@projects.linpro.no> Message-ID: <086.7d72c3b1677d531f6de647a96643feff@projects.linpro.no> #14: storage_file.c allocation strategy ----------------------+----------------------------------------------------- Reporter: des | Owner: phk Type: defect | Status: new Priority: low | Milestone: Varnish 1.0 Component: varnishd | Version: trunk Severity: minor | Resolution: Keywords: | ----------------------+----------------------------------------------------- Comment (by phk): The freelist has been split into 32 buckets on number of pages. The last bucket holds anything larger than N. Allocation policy is smallest first, lower address first. This has significantly reduced the search time and seems to have benefitted fragmentation as well. -- Ticket URL: Varnish The Varnish HTTP Accelerator From varnish-bugs at projects.linpro.no Fri Sep 8 13:34:34 2006 From: varnish-bugs at projects.linpro.no (Varnish) Date: Fri, 08 Sep 2006 13:34:34 -0000 Subject: [Varnish] #42: Support gzip / deflate Message-ID: <077.078cea0d53d298cc5a4236cb85aa76c6@projects.linpro.no> #42: Support gzip / deflate -------------------------+-------------------------------------------------- Reporter: des | Owner: phk Type: enhancement | Status: new Priority: normal | Milestone: Component: varnishd | Version: trunk Severity: normal | Keywords: -------------------------+-------------------------------------------------- Varnish should have the ability to store and serve a compressed version of a document even if the backend server delivered it uncompressed. This requires some care, as some older browsers (notably the Netscape 4 series) claim to support compression but don't. A good starting point for information on how to do this in a robust manner would be Apache's mod_deflate: http://httpd.apache.org/docs/2.0/mod/mod_deflate.html -- Ticket URL: Varnish The Varnish HTTP Accelerator From varnish-bugs at projects.linpro.no Fri Sep 8 13:36:47 2006 From: varnish-bugs at projects.linpro.no (Varnish) Date: Fri, 08 Sep 2006 13:36:47 -0000 Subject: [Varnish] #40: AC_REPLACE_FUNCS In-Reply-To: <077.8fd5bd6793e970b28ffdc46a5c90ba5b@projects.linpro.no> References: <077.8fd5bd6793e970b28ffdc46a5c90ba5b@projects.linpro.no> Message-ID: <086.e39d5fcff8dd3d30fb6c3d76c28009b3@projects.linpro.no> #40: AC_REPLACE_FUNCS -------------------------+-------------------------------------------------- Reporter: des | Owner: des Type: enhancement | Status: new Priority: normal | Milestone: Varnish 2.0 Component: build | Version: trunk Severity: normal | Resolution: Keywords: | -------------------------+-------------------------------------------------- Changes (by des): * milestone: Varnish 1.0 => Varnish 2.0 Comment: Not important enough to make it into 1.0. -- Ticket URL: Varnish The Varnish HTTP Accelerator From varnish-bugs at projects.linpro.no Fri Sep 8 13:38:08 2006 From: varnish-bugs at projects.linpro.no (Varnish) Date: Fri, 08 Sep 2006 13:38:08 -0000 Subject: [Varnish] #42: Support gzip / deflate In-Reply-To: <077.078cea0d53d298cc5a4236cb85aa76c6@projects.linpro.no> References: <077.078cea0d53d298cc5a4236cb85aa76c6@projects.linpro.no> Message-ID: <086.f5da1d5526bc81427acdbafafce1f52d@projects.linpro.no> #42: Support gzip / deflate -------------------------+-------------------------------------------------- Reporter: des | Owner: phk Type: enhancement | Status: new Priority: normal | Milestone: Varnish 2.0 Component: varnishd | Version: trunk Severity: normal | Resolution: Keywords: | -------------------------+-------------------------------------------------- Changes (by des): * milestone: => Varnish 2.0 Comment: Highly desirable for 2.0. -- Ticket URL: Varnish The Varnish HTTP Accelerator From varnish-bugs at projects.linpro.no Fri Sep 8 13:59:13 2006 From: varnish-bugs at projects.linpro.no (Varnish) Date: Fri, 08 Sep 2006 13:59:13 -0000 Subject: [Varnish] #35: Support for external error documents In-Reply-To: <077.ac66fa13c12e2e5001458b2373248b3b@projects.linpro.no> References: <077.ac66fa13c12e2e5001458b2373248b3b@projects.linpro.no> Message-ID: <086.a06682533533a7353da32a0fa7875222@projects.linpro.no> #35: Support for external error documents -------------------------+-------------------------------------------------- Reporter: des | Owner: phk Type: enhancement | Status: new Priority: normal | Milestone: Varnish 2.0 Component: varnishd | Version: trunk Severity: normal | Resolution: Keywords: | -------------------------+-------------------------------------------------- Changes (by des): * milestone: => Varnish 2.0 -- Ticket URL: Varnish The Varnish HTTP Accelerator From varnish-bugs at projects.linpro.no Fri Sep 8 13:59:21 2006 From: varnish-bugs at projects.linpro.no (Varnish) Date: Fri, 08 Sep 2006 13:59:21 -0000 Subject: [Varnish] #36: setproctitle() on Linux In-Reply-To: <077.ed084bfa7bd888f3c85a0b1d30381070@projects.linpro.no> References: <077.ed084bfa7bd888f3c85a0b1d30381070@projects.linpro.no> Message-ID: <086.f912f18d1c93f86cc3ac570c703bf0c6@projects.linpro.no> #36: setproctitle() on Linux ----------------------+----------------------------------------------------- Reporter: des | Owner: des Type: defect | Status: new Priority: normal | Milestone: Varnish 2.0 Component: varnishd | Version: trunk Severity: normal | Resolution: Keywords: | ----------------------+----------------------------------------------------- Changes (by des): * milestone: => Varnish 2.0 -- Ticket URL: Varnish The Varnish HTTP Accelerator From varnish-bugs at projects.linpro.no Mon Sep 11 08:43:06 2006 From: varnish-bugs at projects.linpro.no (Varnish) Date: Mon, 11 Sep 2006 08:43:06 -0000 Subject: [Varnish] #43: No HAVE_SENDFILE in config.h Message-ID: <077.78ca999711fa6a0966965d551206cb11@projects.linpro.no> #43: No HAVE_SENDFILE in config.h --------------------+------------------------------------------------------- Reporter: phk | Owner: des Type: defect | Status: new Priority: normal | Milestone: Component: build | Version: Severity: normal | Keywords: --------------------+------------------------------------------------------- -- Ticket URL: Varnish The Varnish HTTP Accelerator From varnish-bugs at projects.linpro.no Mon Sep 11 09:17:24 2006 From: varnish-bugs at projects.linpro.no (Varnish) Date: Mon, 11 Sep 2006 09:17:24 -0000 Subject: [Varnish] #43: No HAVE_SENDFILE in config.h In-Reply-To: <077.78ca999711fa6a0966965d551206cb11@projects.linpro.no> References: <077.78ca999711fa6a0966965d551206cb11@projects.linpro.no> Message-ID: <086.a1affa4f9fb307b8cdc88dcff6a1dce3@projects.linpro.no> #43: No HAVE_SENDFILE in config.h --------------------+------------------------------------------------------- Reporter: phk | Owner: des Type: defect | Status: assigned Priority: normal | Milestone: Component: build | Version: trunk Severity: normal | Resolution: Keywords: | --------------------+------------------------------------------------------- Changes (by des): * version: => trunk * status: new => assigned -- Ticket URL: Varnish The Varnish HTTP Accelerator From varnish-bugs at projects.linpro.no Mon Sep 11 09:17:32 2006 From: varnish-bugs at projects.linpro.no (Varnish) Date: Mon, 11 Sep 2006 09:17:32 -0000 Subject: [Varnish] #43: No HAVE_SENDFILE in config.h In-Reply-To: <077.78ca999711fa6a0966965d551206cb11@projects.linpro.no> References: <077.78ca999711fa6a0966965d551206cb11@projects.linpro.no> Message-ID: <086.c424de5ae1bb1ce73ea6e08bddd7aa44@projects.linpro.no> #43: No HAVE_SENDFILE in config.h --------------------+------------------------------------------------------- Reporter: phk | Owner: des Type: defect | Status: closed Priority: normal | Milestone: Component: build | Version: trunk Severity: normal | Resolution: fixed Keywords: | --------------------+------------------------------------------------------- Changes (by des): * status: assigned => closed * resolution: => fixed -- Ticket URL: Varnish The Varnish HTTP Accelerator From varnish-bugs at projects.linpro.no Wed Sep 13 20:51:29 2006 From: varnish-bugs at projects.linpro.no (Varnish) Date: Wed, 13 Sep 2006 20:51:29 -0000 Subject: [Varnish] #44: DOC input: ReqEnd shmem record Message-ID: <077.01bdf477ff1cfe2c86028ebd82ca9153@projects.linpro.no> #44: DOC input: ReqEnd shmem record ---------------------------+------------------------------------------------ Reporter: phk | Owner: des Type: documentation | Status: new Priority: normal | Milestone: Component: documentation | Version: Severity: normal | Keywords: ---------------------------+------------------------------------------------ The ReqEnd record in the shared memory log has the following fields: {{{ 2039158367 1158180241.888800123 1158180241.888854881 0.005646787 0.000015924 0.000038834 XID Request timestamp Complete timestamp Idle time proc.time xmit time }}} XID is the transaction ID. If no request was received it will be zero. Request timestamp is the time when we have received a complete request. Complete timestamp is when Varnish is done with the request. This does *not* signify when the last byte has been transmitted to the client. The last X kilobytes are still likely to be buffered in the kernel and on the way out. Idle time is the duration from when the connection was established or the previous request on it was completed. In other words: the inter-request interval. Proc time is how long Varnish took to prepare the reply Xmit time is how long it took Varnish to deliver the reply. See above about kernel buffering. Request timestamp + proc time + xmit time = Complete timestamp. -- Ticket URL: Varnish The Varnish HTTP Accelerator From varnish-bugs at projects.linpro.no Sun Sep 17 08:24:44 2006 From: varnish-bugs at projects.linpro.no (Varnish) Date: Sun, 17 Sep 2006 08:24:44 -0000 Subject: [Varnish] #21: Thoughts about the prefetcher In-Reply-To: <077.7be163059f9973c967a094f90c6a71cd@projects.linpro.no> References: <077.7be163059f9973c967a094f90c6a71cd@projects.linpro.no> Message-ID: <086.9f995a08b282d4c4aab4dff8e14a8273@projects.linpro.no> #21: Thoughts about the prefetcher -------------------------+-------------------------------------------------- Reporter: phk | Owner: phk Type: enhancement | Status: new Priority: normal | Milestone: Component: varnishd | Version: trunk Severity: normal | Resolution: Keywords: | -------------------------+-------------------------------------------------- Comment (by phk): Further observations: In cache_center.c a Debug shmlog is issued whenever a request waits for a busy object. So far this happens a lot less than I had expected on the VG site, so the relative priority of the prefetcher is once more up for reconsideration. -- Ticket URL: Varnish The Varnish HTTP Accelerator From varnish-bugs at projects.linpro.no Mon Sep 18 20:03:04 2006 From: varnish-bugs at projects.linpro.no (Varnish) Date: Mon, 18 Sep 2006 20:03:04 -0000 Subject: [Varnish] #42: Support gzip / deflate In-Reply-To: <077.078cea0d53d298cc5a4236cb85aa76c6@projects.linpro.no> References: <077.078cea0d53d298cc5a4236cb85aa76c6@projects.linpro.no> Message-ID: <086.b663ddde69f27e904398921990f81723@projects.linpro.no> #42: Support gzip / deflate -------------------------+-------------------------------------------------- Reporter: des | Owner: phk Type: enhancement | Status: new Priority: normal | Milestone: Varnish 2.0 Component: varnishd | Version: trunk Severity: normal | Resolution: Keywords: | -------------------------+-------------------------------------------------- Comment (by des): 21:59 < phk> With respect to deflate, you need to have ESI in mind while doing that, as you will be using the same object duplicity/selection stuff. 21:59 < phk> You should also put the "Vary:" header on the 1.1 list, it's necessary for Deflate. 21:59 < EvilDES> phk: deflate can be done orthogonally by hashing on Vary headers in addition to Host + URL 21:59 < phk> no, that's the wrong way. 22:00 < phk> we only hash URL+HOST 22:00 < phk> the hashheader you get then has a list of objects for that combination. 22:00 < phk> these objects can differ in TTL, encoding, transfer encoding or anything else you care to think about. 22:00 < EvilDES> OK. 22:00 < phk> and as you walk the list, you find one you like, or you create a new 22:01 < phk> and get it from the backend. 22:01 < phk> There is no way to sanely hash the vary header as it is defined. -- Ticket URL: Varnish The Varnish HTTP Accelerator From varnish-bugs at projects.linpro.no Mon Sep 18 20:05:07 2006 From: varnish-bugs at projects.linpro.no (Varnish) Date: Mon, 18 Sep 2006 20:05:07 -0000 Subject: [Varnish] #42: Support gzip / deflate In-Reply-To: <077.078cea0d53d298cc5a4236cb85aa76c6@projects.linpro.no> References: <077.078cea0d53d298cc5a4236cb85aa76c6@projects.linpro.no> Message-ID: <086.b033198b5b99996d3344e17d4031e667@projects.linpro.no> #42: Support gzip / deflate -------------------------+-------------------------------------------------- Reporter: des | Owner: phk Type: enhancement | Status: new Priority: normal | Milestone: Varnish 2.0 Component: varnishd | Version: trunk Severity: normal | Resolution: Keywords: | -------------------------+-------------------------------------------------- Comment (by des): Argggh! 21:59 < phk> With respect to deflate, you need to have ESI in mind while doing that, as you will be using the same object duplicity/selection stuff. 21:59 < phk> You should also put the "Vary:" header on the 1.1 list, it's necessary for Deflate. 21:59 < EvilDES> phk: deflate can be done orthogonally by hashing on Vary headers in addition to Host + URL 21:59 < phk> no, that's the wrong way. 22:00 < phk> we only hash URL+HOST 22:00 < phk> the hashheader you get then has a list of objects for that combination. 22:00 < phk> these objects can differ in TTL, encoding, transfer encoding or anything else you care to think about. 22:00 < EvilDES> OK. 22:00 < phk> and as you walk the list, you find one you like, or you create a new 22:01 < phk> and get it from the backend. 22:01 < phk> There is no way to sanely hash the vary header as it is defined. -- Ticket URL: Varnish The Varnish HTTP Accelerator From varnish-bugs at projects.linpro.no Thu Sep 21 14:27:58 2006 From: varnish-bugs at projects.linpro.no (Varnish) Date: Thu, 21 Sep 2006 14:27:58 -0000 Subject: [Varnish] #5: Vary header matching In-Reply-To: <077.062573cd89a85464333911d5775dc06d@projects.linpro.no> References: <077.062573cd89a85464333911d5775dc06d@projects.linpro.no> Message-ID: <086.f862dae003a3ae485d462059814cfaf9@projects.linpro.no> #5: Vary header matching ----------------------+----------------------------------------------------- Reporter: des | Owner: phk Type: defect | Status: new Priority: low | Milestone: Varnish 1.0 Component: varnishd | Version: trunk Severity: normal | Resolution: Keywords: | ----------------------+----------------------------------------------------- Comment (by hb): What about client accept and backend vary headers in the case of xhtml served with application/xhtml+xml ? As with my app server, this would presumably need to be a special case to prevent the catchall in client headers. -- Ticket URL: Varnish The Varnish HTTP Accelerator From justin at thecommode.com Mon Sep 25 16:06:19 2006 From: justin at thecommode.com (Justin Giardina) Date: Mon, 25 Sep 2006 11:06:19 -0500 Subject: Compilation Errors Message-ID: I am having trouble compiling Varnish 1.0.1 on Debian Sarge. I am using a 2.6.8-22-686-smp kernel and am able to successfully run autogen.sh with no errors, then run configure with no errors. When I try to run a make I get up to this error when trying to compile version.c: version.c: In function `varnish_version': version.c:42: error: `PACKAGE_TARNAME' undeclared (first use in this function) version.c:42: error: (Each undeclared identifier is reported only once version.c:42: error: for each function it appears in.) version.c:42: error: `PACKAGE_VERSION' undeclared (first use in this function) Any help would greatly be appreciated. Justin From varnish-bugs at projects.linpro.no Tue Sep 26 12:57:30 2006 From: varnish-bugs at projects.linpro.no (Varnish) Date: Tue, 26 Sep 2006 12:57:30 -0000 Subject: [Varnish] #45: Bodyless response to "pass"-ed request is not delivered to client until server closes connection. Message-ID: <077.5b399a44a1f64415b0f6084399e557cb@projects.linpro.no> #45: Bodyless response to "pass"-ed request is not delivered to client until server closes connection. ----------------------+----------------------------------------------------- Reporter: ilmari | Owner: phk Type: defect | Status: new Priority: normal | Milestone: Component: varnishd | Version: Severity: major | Keywords: ----------------------+----------------------------------------------------- When a response to a "pass"-ed request does not contain a body (e.g. 304 Not Modified), the response is not sent to the client until the server closes the connection, which can take quite a while with keep-alive. Below is the tcpdump output from a request that returns 304 Not Modifed. Commands run: {{{ $ varnishd -a localhost:8080 -b localhost:80 -s malloc pclose=0 Creating new SHMFILE $ time GET -H'Cookie: foo=bar;' -H'If-Modified-Since: Tue, 26 Sep 2006 11:59:35 GMT' http://localhost:8080/munin/logo.png real 0m15.223s user 0m0.180s sys 0m0.016s $ time GET -H'If-Modified-Since: Tue, 26 Sep 2006 11:59:35 GMT' http://localhost:8080/munin/logo.png real 0m0.229s user 0m0.160s sys 0m0.036s }}} tcpdump output with Cookie: header: {{{ 13:53:26.218801 IP 127.0.0.1.50388 > 127.0.0.1.8080: S 2847047928:2847047928(0) win 32767 13:53:26.219033 IP 127.0.0.1.8080 > 127.0.0.1.50388: S 2836769038:2836769038(0) ack 2847047929 win 32767 13:53:26.219153 IP 127.0.0.1.50388 > 127.0.0.1.8080: . ack 1 win 8192 13:53:26.234429 IP 127.0.0.1.50388 > 127.0.0.1.8080: P 1:200(199) ack 1 win 8192 13:53:26.235399 IP 127.0.0.1.8080 > 127.0.0.1.50388: . ack 200 win 8192 13:53:26.236122 IP 127.0.0.1.42755 > 127.0.0.1.80: S 2840243111:2840243111(0) win 32767 13:53:26.236144 IP 127.0.0.1.80 > 127.0.0.1.42755: S 2836481646:2836481646(0) ack 2840243112 win 32767 13:53:26.236378 IP 127.0.0.1.42755 > 127.0.0.1.80: . ack 1 win 8192 13:53:26.236572 IP 127.0.0.1.42755 > 127.0.0.1.80: P 1:176(175) ack 1 win 8192 13:53:26.236585 IP 127.0.0.1.80 > 127.0.0.1.42755: . ack 176 win 8192 13:53:26.237992 IP 127.0.0.1.80 > 127.0.0.1.42755: P 1:133(132) ack 176 win 8192 13:53:26.238214 IP 127.0.0.1.42755 > 127.0.0.1.80: . ack 133 win 8192 13:53:41.251697 IP 127.0.0.1.80 > 127.0.0.1.42755: F 133:133(0) ack 176 win 8192 13:53:41.251865 IP 127.0.0.1.8080 > 127.0.0.1.50388: P 1:156(155) ack 200 win 8192 13:53:41.251878 IP 127.0.0.1.50388 > 127.0.0.1.8080: . ack 156 win 8192 13:53:41.251907 IP 127.0.0.1.42755 > 127.0.0.1.80: F 176:176(0) ack 134 win 8192 13:53:41.251982 IP 127.0.0.1.8080 > 127.0.0.1.50388: F 156:156(0) ack 200 win 8192 13:53:41.253845 IP 127.0.0.1.50388 > 127.0.0.1.8080: F 200:200(0) ack 157 win 8192 13:53:41.253878 IP 127.0.0.1.8080 > 127.0.0.1.50388: . ack 201 win 8192 13:53:41.259468 IP 127.0.0.1.80 > 127.0.0.1.42755: . ack 177 win 8192 }}} tcpdump output without Cookie: header: {{{ 13:55:09.015427 IP 127.0.0.1.50404 > 127.0.0.1.8080: S 2938586104:2938586104(0) win 32767 13:55:09.015454 IP 127.0.0.1.8080 > 127.0.0.1.50404: S 2937934840:2937934840(0) ack 2938586105 win 32767 13:55:09.015729 IP 127.0.0.1.50404 > 127.0.0.1.8080: . ack 1 win 8192 13:55:09.032170 IP 127.0.0.1.50404 > 127.0.0.1.8080: P 1:182(181) ack 1 win 8192 13:55:09.032334 IP 127.0.0.1.8080 > 127.0.0.1.50404: . ack 182 win 8192 13:55:09.032430 IP 127.0.0.1.42771 > 127.0.0.1.80: S 2938901309:2938901309(0) win 32767 13:55:09.032447 IP 127.0.0.1.80 > 127.0.0.1.42771: S 2940896759:2940896759(0) ack 2938901310 win 32767 13:55:09.032465 IP 127.0.0.1.42771 > 127.0.0.1.80: . ack 1 win 8192 13:55:09.032656 IP 127.0.0.1.42771 > 127.0.0.1.80: P 1:108(107) ack 1 win 8192 13:55:09.032668 IP 127.0.0.1.80 > 127.0.0.1.42771: . ack 108 win 8192 13:55:09.034235 IP 127.0.0.1.80 > 127.0.0.1.42771: P 1:710(709) ack 108 win 8192 13:55:09.034391 IP 127.0.0.1.42771 > 127.0.0.1.80: . ack 710 win 8192 13:55:09.034974 IP 127.0.0.1.8080 > 127.0.0.1.50404: P 1:173(172) ack 182 win 8192 13:55:09.034987 IP 127.0.0.1.50404 > 127.0.0.1.8080: . ack 173 win 8192 13:55:09.035167 IP 127.0.0.1.8080 > 127.0.0.1.50404: F 173:173(0) ack 182 win 8192 13:55:09.037194 IP 127.0.0.1.50404 > 127.0.0.1.8080: F 182:182(0) ack 174 win 8192 13:55:09.037227 IP 127.0.0.1.8080 > 127.0.0.1.50404: . ack 183 win 8192 13:55:24.086551 IP 127.0.0.1.80 > 127.0.0.1.42771: F 710:710(0) ack 108 win 8192 13:55:24.130333 IP 127.0.0.1.42771 > 127.0.0.1.80: . ack 711 win 8192 }}} -- Ticket URL: Varnish The Varnish HTTP Accelerator From varnish-bugs at projects.linpro.no Tue Sep 26 14:51:01 2006 From: varnish-bugs at projects.linpro.no (Varnish) Date: Tue, 26 Sep 2006 14:51:01 -0000 Subject: [Varnish] #46: Typo in include/stat_field.h Message-ID: <077.7cbb2524144f921efc0ec9ad97f16555@projects.linpro.no> #46: Typo in include/stat_field.h -------------------------+-------------------------------------------------- Reporter: bjorn | Owner: phk Type: enhancement | Status: new Priority: lowest | Milestone: Component: varnishstat | Version: Severity: trivial | Keywords: -------------------------+-------------------------------------------------- {{{ MAC_STAT(backend_recycle, uint64_t, "u", "Backend connections recyles") }}} ...should've been recycled? recycles? -- Ticket URL: Varnish The Varnish HTTP Accelerator From varnish-bugs at projects.linpro.no Wed Sep 27 07:43:34 2006 From: varnish-bugs at projects.linpro.no (Varnish) Date: Wed, 27 Sep 2006 07:43:34 -0000 Subject: [Varnish] #46: Typo in include/stat_field.h In-Reply-To: <077.7cbb2524144f921efc0ec9ad97f16555@projects.linpro.no> References: <077.7cbb2524144f921efc0ec9ad97f16555@projects.linpro.no> Message-ID: <086.2f577196f84f47b3dbe0e04807d65778@projects.linpro.no> #46: Typo in include/stat_field.h -------------------------+-------------------------------------------------- Reporter: bjorn | Owner: phk Type: enhancement | Status: closed Priority: lowest | Milestone: Component: varnishstat | Version: Severity: trivial | Resolution: fixed Keywords: | -------------------------+-------------------------------------------------- Changes (by des): * status: new => closed * resolution: => fixed Comment: fixed, thanks -- Ticket URL: Varnish The Varnish HTTP Accelerator From varnish-bugs at projects.linpro.no Wed Sep 27 13:53:52 2006 From: varnish-bugs at projects.linpro.no (Varnish) Date: Wed, 27 Sep 2006 13:53:52 -0000 Subject: [Varnish] #47: pass mode does not handle POST Message-ID: <077.977e6cfd0fca0f4c0d5229365ff9221c@projects.linpro.no> #47: pass mode does not handle POST ----------------------+----------------------------------------------------- Reporter: des | Owner: des Type: defect | Status: new Priority: high | Milestone: Component: varnishd | Version: trunk Severity: normal | Keywords: ----------------------+----------------------------------------------------- Trying to handle POST with pass mode leads to a stuck session; pipe mode works fine. This works: {{{ if (req.request == "POST") { pipe; } }}} This doesn't: {{{ if (req.request == "POST") { pass; } }}} As a use case, imagine an online newspaper which allows readers to send in their reactions to a news piece through a feedback form. -- Ticket URL: Varnish The Varnish HTTP Accelerator From varnish-bugs at projects.linpro.no Wed Sep 27 13:58:00 2006 From: varnish-bugs at projects.linpro.no (Varnish) Date: Wed, 27 Sep 2006 13:58:00 -0000 Subject: [Varnish] #2: Error handling on backend connections In-Reply-To: <077.d40b75830e79964f7722e89f6caa96fd@projects.linpro.no> References: <077.d40b75830e79964f7722e89f6caa96fd@projects.linpro.no> Message-ID: <086.0c07f099ca628fbb568c75caa3cdb0e8@projects.linpro.no> #2: Error handling on backend connections ----------------------+----------------------------------------------------- Reporter: des | Owner: phk Type: defect | Status: new Priority: normal | Milestone: Component: varnishd | Version: trunk Severity: normal | Resolution: Keywords: | ----------------------+----------------------------------------------------- Changes (by des): * milestone: Varnish 1.0 => -- Ticket URL: Varnish The Varnish HTTP Accelerator From varnish-bugs at projects.linpro.no Wed Sep 27 13:58:10 2006 From: varnish-bugs at projects.linpro.no (Varnish) Date: Wed, 27 Sep 2006 13:58:10 -0000 Subject: [Varnish] #6: Performance statistics In-Reply-To: <077.c49c308e1956484a35b6857e2b0cbea0@projects.linpro.no> References: <077.c49c308e1956484a35b6857e2b0cbea0@projects.linpro.no> Message-ID: <086.513cf6ebf1a2c8b2903289421eabf3aa@projects.linpro.no> #6: Performance statistics ----------------------+----------------------------------------------------- Reporter: des | Owner: phk Type: defect | Status: new Priority: normal | Milestone: Component: varnishd | Version: trunk Severity: normal | Resolution: Keywords: | ----------------------+----------------------------------------------------- Changes (by des): * milestone: Varnish 1.0 => -- Ticket URL: Varnish The Varnish HTTP Accelerator From varnish-bugs at projects.linpro.no Wed Sep 27 13:58:50 2006 From: varnish-bugs at projects.linpro.no (Varnish) Date: Wed, 27 Sep 2006 13:58:50 -0000 Subject: [Varnish] #7: CLI management interface In-Reply-To: <077.2306387c74df58a6bc3a5b6390d66cf5@projects.linpro.no> References: <077.2306387c74df58a6bc3a5b6390d66cf5@projects.linpro.no> Message-ID: <086.96e519ece0ef74da9507a1ae860d7c8f@projects.linpro.no> #7: CLI management interface -------------------------+-------------------------------------------------- Reporter: des | Owner: phk Type: enhancement | Status: closed Priority: normal | Milestone: Varnish 1.0 Component: varnishd | Version: trunk Severity: normal | Resolution: fixed Keywords: | -------------------------+-------------------------------------------------- Changes (by des): * status: new => closed * resolution: => fixed Comment: This was added ages ago... -- Ticket URL: Varnish The Varnish HTTP Accelerator From varnish-bugs at projects.linpro.no Wed Sep 27 13:58:58 2006 From: varnish-bugs at projects.linpro.no (Varnish) Date: Wed, 27 Sep 2006 13:58:58 -0000 Subject: [Varnish] #8: VCL completeness In-Reply-To: <077.7979b52fb0357c3954d7c8dc56013c2e@projects.linpro.no> References: <077.7979b52fb0357c3954d7c8dc56013c2e@projects.linpro.no> Message-ID: <086.82f09b3347f77bce94887149dd6a21e1@projects.linpro.no> #8: VCL completeness ----------------------+----------------------------------------------------- Reporter: des | Owner: phk Type: defect | Status: new Priority: normal | Milestone: Component: varnishd | Version: trunk Severity: normal | Resolution: Keywords: | ----------------------+----------------------------------------------------- Changes (by des): * milestone: Varnish 1.0 => -- Ticket URL: Varnish The Varnish HTTP Accelerator From varnish-bugs at projects.linpro.no Wed Sep 27 13:59:06 2006 From: varnish-bugs at projects.linpro.no (Varnish) Date: Wed, 27 Sep 2006 13:59:06 -0000 Subject: [Varnish] #10: (regression-)testing In-Reply-To: <077.cc3f24a008765ef2a842dda16414bc38@projects.linpro.no> References: <077.cc3f24a008765ef2a842dda16414bc38@projects.linpro.no> Message-ID: <086.c75ada865fc56aad3ef026ae7513b9d7@projects.linpro.no> #10: (regression-)testing ----------------------+----------------------------------------------------- Reporter: des | Owner: phk Type: defect | Status: new Priority: normal | Milestone: Component: varnishd | Version: trunk Severity: normal | Resolution: Keywords: | ----------------------+----------------------------------------------------- Changes (by des): * milestone: Varnish 1.0 => -- Ticket URL: Varnish The Varnish HTTP Accelerator From varnish-bugs at projects.linpro.no Wed Sep 27 13:59:16 2006 From: varnish-bugs at projects.linpro.no (Varnish) Date: Wed, 27 Sep 2006 13:59:16 -0000 Subject: [Varnish] #13: RFC compliance audit In-Reply-To: <077.8c11b8bcdc79d97e2e28148c90793e6f@projects.linpro.no> References: <077.8c11b8bcdc79d97e2e28148c90793e6f@projects.linpro.no> Message-ID: <086.452ec984e3690e042284529606e9e09a@projects.linpro.no> #13: RFC compliance audit ----------------------+----------------------------------------------------- Reporter: des | Owner: phk Type: defect | Status: new Priority: normal | Milestone: Component: varnishd | Version: trunk Severity: normal | Resolution: Keywords: | ----------------------+----------------------------------------------------- Changes (by des): * milestone: Varnish 1.0 => -- Ticket URL: Varnish The Varnish HTTP Accelerator From varnish-bugs at projects.linpro.no Wed Sep 27 13:59:32 2006 From: varnish-bugs at projects.linpro.no (Varnish) Date: Wed, 27 Sep 2006 13:59:32 -0000 Subject: [Varnish] #28: Doc input: CLI protocol In-Reply-To: <077.64f388c780ac09cff9a67a112dfb8e8d@projects.linpro.no> References: <077.64f388c780ac09cff9a67a112dfb8e8d@projects.linpro.no> Message-ID: <086.66d74d66139c56494c5ffe706d9df67a@projects.linpro.no> #28: Doc input: CLI protocol ---------------------------+------------------------------------------------ Reporter: phk | Owner: des Type: documentation | Status: new Priority: normal | Milestone: Component: documentation | Version: trunk Severity: normal | Resolution: Keywords: | ---------------------------+------------------------------------------------ Changes (by des): * milestone: Varnish 1.0 => -- Ticket URL: Varnish The Varnish HTTP Accelerator From varnish-bugs at projects.linpro.no Wed Sep 27 13:59:41 2006 From: varnish-bugs at projects.linpro.no (Varnish) Date: Wed, 27 Sep 2006 13:59:41 -0000 Subject: [Varnish] #3: Move more policy to VCL In-Reply-To: <077.38237ec468a9a114f2e177a9711a16d5@projects.linpro.no> References: <077.38237ec468a9a114f2e177a9711a16d5@projects.linpro.no> Message-ID: <086.853e98e802f9fb39392e884cae69c91d@projects.linpro.no> #3: Move more policy to VCL -------------------------+-------------------------------------------------- Reporter: des | Owner: phk Type: enhancement | Status: new Priority: low | Milestone: Component: varnishd | Version: trunk Severity: normal | Resolution: Keywords: | -------------------------+-------------------------------------------------- Changes (by des): * milestone: Varnish 1.0 => -- Ticket URL: Varnish The Varnish HTTP Accelerator From varnish-bugs at projects.linpro.no Wed Sep 27 13:59:54 2006 From: varnish-bugs at projects.linpro.no (Varnish) Date: Wed, 27 Sep 2006 13:59:54 -0000 Subject: [Varnish] #5: Vary header matching In-Reply-To: <077.062573cd89a85464333911d5775dc06d@projects.linpro.no> References: <077.062573cd89a85464333911d5775dc06d@projects.linpro.no> Message-ID: <086.e6d5fc5f8e1b91bd5292a16fa56fd829@projects.linpro.no> #5: Vary header matching ----------------------+----------------------------------------------------- Reporter: des | Owner: phk Type: defect | Status: new Priority: low | Milestone: Component: varnishd | Version: trunk Severity: normal | Resolution: Keywords: | ----------------------+----------------------------------------------------- Changes (by des): * milestone: Varnish 1.0 => -- Ticket URL: Varnish The Varnish HTTP Accelerator From varnish-bugs at projects.linpro.no Wed Sep 27 14:00:07 2006 From: varnish-bugs at projects.linpro.no (Varnish) Date: Wed, 27 Sep 2006 14:00:07 -0000 Subject: [Varnish] #9: VCL compiler error checking In-Reply-To: <077.3fe3ebe25c047512d42c4d241e84210f@projects.linpro.no> References: <077.3fe3ebe25c047512d42c4d241e84210f@projects.linpro.no> Message-ID: <086.5a1d439e61b664be98d058801757e927@projects.linpro.no> #9: VCL compiler error checking ----------------------+----------------------------------------------------- Reporter: des | Owner: phk Type: defect | Status: new Priority: low | Milestone: Component: varnishd | Version: trunk Severity: normal | Resolution: Keywords: | ----------------------+----------------------------------------------------- Changes (by des): * milestone: Varnish 1.0 => -- Ticket URL: Varnish The Varnish HTTP Accelerator From varnish-bugs at projects.linpro.no Wed Sep 27 14:00:30 2006 From: varnish-bugs at projects.linpro.no (Varnish) Date: Wed, 27 Sep 2006 14:00:30 -0000 Subject: [Varnish] #14: storage_file.c allocation strategy In-Reply-To: <077.60b196af8cb8e7a912678b51f7be4ab1@projects.linpro.no> References: <077.60b196af8cb8e7a912678b51f7be4ab1@projects.linpro.no> Message-ID: <086.5f917a490f0b0c12765a02ae9df558a1@projects.linpro.no> #14: storage_file.c allocation strategy ----------------------+----------------------------------------------------- Reporter: des | Owner: phk Type: defect | Status: new Priority: low | Milestone: Component: varnishd | Version: trunk Severity: minor | Resolution: Keywords: | ----------------------+----------------------------------------------------- Changes (by des): * milestone: Varnish 1.0 => -- Ticket URL: Varnish The Varnish HTTP Accelerator From varnish-bugs at projects.linpro.no Wed Sep 27 14:00:45 2006 From: varnish-bugs at projects.linpro.no (Varnish) Date: Wed, 27 Sep 2006 14:00:45 -0000 Subject: [Varnish] #29: VCL unload/discard leaks In-Reply-To: <077.97ab360db6e4811321b85a639efa60ed@projects.linpro.no> References: <077.97ab360db6e4811321b85a639efa60ed@projects.linpro.no> Message-ID: <086.6901c8a118082405dfda67888d015bd8@projects.linpro.no> #29: VCL unload/discard leaks ----------------------+----------------------------------------------------- Reporter: phk | Owner: phk Type: defect | Status: new Priority: low | Milestone: Component: varnishd | Version: trunk Severity: normal | Resolution: Keywords: | ----------------------+----------------------------------------------------- Changes (by des): * milestone: Varnish 1.0 => -- Ticket URL: Varnish The Varnish HTTP Accelerator From varnish-bugs at projects.linpro.no Thu Sep 28 11:27:54 2006 From: varnish-bugs at projects.linpro.no (Varnish) Date: Thu, 28 Sep 2006 11:27:54 -0000 Subject: [Varnish] #48: varnishd vanishes Message-ID: <077.8934eb68c89eea6fbb42e6731e3672a1@projects.linpro.no> #48: varnishd vanishes ----------------------+----------------------------------------------------- Reporter: perbu | Owner: phk Type: defect | Status: new Priority: normal | Milestone: Component: varnishd | Version: Severity: normal | Keywords: ----------------------+----------------------------------------------------- varnishd does some sort of assert() and vanishes from our server - there is no coredump left on the system (we run with ulimit -c unlimited). I know this is difficult to reproduce - but if I am given any hints on how this is logged we would be able provide more information. The server runs on Centos 4 on a 32bit Xen-server. -- Ticket URL: Varnish The Varnish HTTP Accelerator From varnish-bugs at projects.linpro.no Sat Sep 30 21:48:47 2006 From: varnish-bugs at projects.linpro.no (Varnish) Date: Sat, 30 Sep 2006 21:48:47 -0000 Subject: [Varnish] #45: Bodyless response to "pass"-ed request is not delivered to client until server closes connection. In-Reply-To: <077.5b399a44a1f64415b0f6084399e557cb@projects.linpro.no> References: <077.5b399a44a1f64415b0f6084399e557cb@projects.linpro.no> Message-ID: <086.b6581f73f8a55540b135db044ad54f63@projects.linpro.no> #45: Bodyless response to "pass"-ed request is not delivered to client until server closes connection. ----------------------+----------------------------------------------------- Reporter: ilmari | Owner: phk Type: defect | Status: new Priority: normal | Milestone: Component: varnishd | Version: Severity: major | Resolution: Keywords: | ----------------------+----------------------------------------------------- Comment (by ilmari): RFC 2616 says "All 1xx (informational), 204 (no content), and 304 (not modified) responses MUST NOT include a message-body," so Content-Length: is not needed in these cases (and Apache does indeed not include it). This causes PassBody() to call pass_straight() with a NULL length argument, which waits until the connection is closed by the server. PassBody() should not call pass_*() at all for responses that are known to be bodyless. -- Ticket URL: Varnish The Varnish HTTP Accelerator