Varnish sending incomplete responses when nuking objects

Carlos Abalde carlos.abalde at gmail.com
Sat Dec 9 14:32:46 UTC 2017


Hi Radu,

Try increasing 'nuke_limit' (default value is 50). Check out https://github.com/varnishcache/varnish-cache/issues/1764 <https://github.com/varnishcache/varnish-cache/issues/1764> for details.

Best,

--
Carlos Abalde

> On 9 Dec 2017, at 10:05, Radu Moisa <rmoisa at yahoo.com> wrote:
> 
> Hi,
> 
> I have an issue with varnish (v5.2.1) returning incomplete responses when the cache gets full and it starts nuking objects.
> The request that triggered the object nuke is returned incomplete (tested with curl) and the python requests library complains with "ChunkedEncodingError: ('Connection broken: IncompleteRead(0 bytes read)', IncompleteRead(0 bytes read))".
> 
> Do you see anything wrong in the vlc file? Should there be a mandatory return statement in the vcl_recv function?
> 
> 
> vcl 4.0;
> 
> backend pub1 {
>     .host = "pub1.example.com";
>     .port = "80";
>     .probe = {
>         .url = "/";
>         .timeout = 5s;
>         .interval = 10s;
>         .window = 5;
>         .threshold = 3;
>     }
>     .connect_timeout = 10s;
>     .first_byte_timeout = 900s;
>     .between_bytes_timeout = 900s;
> }
> 
> backend pub2 {
>     .host = "pub2.example.com";
>     .port = "80";
>     .probe = {
>         .url = "/";
>         .timeout = 5s;
>         .interval = 10s;
>         .window = 5;
>         .threshold = 3;
>     }
>     .connect_timeout = 10s;
>     .first_byte_timeout = 900s;
>     .between_bytes_timeout = 900s;
> }
>  
> # Enables use of "Cache-Control: no-cache"
> sub vcl_recv {
>     if (req.http.Cache-Control ~ "no-cache") {
>          set req.hash_always_miss = true;
>     }
> 
>     set req.backend_hint = pub1;
> 
>     if (req.http.host == "pub1-cache.example.com") {
>         set req.backend_hint = pub1;
>     }
> 
>     if (req.http.host == "pub2-cache.example.com") {
>         set req.backend_hint = pub2;
>     }
> }
> 
> # Use smaller TTL for non 200 backend response codes
> sub vcl_backend_response {
>     if (beresp.status != 200){
>         set beresp.ttl = 60s;
>     }
> }
> 
> Thanks a lot!
> Radu
> 
> _______________________________________________
> varnish-misc mailing list
> varnish-misc at varnish-cache.org
> https://www.varnish-cache.org/lists/mailman/listinfo/varnish-misc


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://www.varnish-cache.org/lists/pipermail/varnish-misc/attachments/20171209/11f43fd5/attachment.html>


More information about the varnish-misc mailing list