Yes, background_fill allows ATS to continue the object download after the 
client that initiated the request aborts. However, this feature alone doesn't 
help in working around the byte range cache issue. AFAIK, you will need 
background_fetch plugin independent of background_fill.
In more detail, without background_fetch enabled, (on a cache miss) a byte 
range request would only result in ATS fetching the requested byte range from 
the Origin. Enabling background_fill will only help complete that partial byte 
range download and not the full object download. Whereas, with background_fetch 
enabled, (on a cache miss) a byte range request would result in two separate 
requests - one for the requested byte range and a second (independent) request 
for the full object.
Thanks,
Sudheer 


     On Thursday, August 6, 2015 12:18 PM, Mateusz Zajakala 
<[email protected]> wrote:
   

 One question about the background fetch plugin. How does it relate (if at all) 
to configs
proxy.config.http.background_fill_completed_threshold
proxy.config.http.background_fill_active_timeout

If I understand correctly these configs instruct ATS to continue fetching file 
from origin even though the client may disconnect. I also understand that 
background fetch plugin does a similar thing when client issues a byte-range 
request.

The interesting thing is that when byte-range request comes from the client ATS 
reports in logs:
ERR_CLIENT_ABORT/206

So - is background_fill going to kick in? Or do I need the background fetch 
plugin?

Ps. The case is delivery (streaming / progressive download) of large (>1GB) 
video files with clients issueing range requests.


On Thu, Aug 6, 2015 at 6:00 PM, Madhava Gaikwad (madgaikw) <[email protected]> 
wrote:

This is a problem even with varnish. Let me assess where I can quickly fix 
this. We need one level of indirection(cache) to store the hashes of RR of same 
URLs and then need a correct coalesce operator. Thanks for the confirmation and 
help. Let me get back to you with my findings. Madhava From: Rushford, John 
[mailto:[email protected]]
Sent: Thursday, August 06, 2015 9:15 PM
To: [email protected]
Subject: Re: partial object caching Yes, the requests may be served from cache 
only if the requested range was previously requested.  If you find that all 
clients are requesting the same ranges, the plugin would be of help. Thanks-- 
John J. RushfordIPCDN Engineering1400 Wewatta Street, Denver Colorado 
[email protected]           From: "Madhava Gaikwad 
(madgaikw)" <[email protected]>
Reply-To: "[email protected]" <[email protected]>
Date: Thursday, August 6, 2015 at 9:35 AM
To: "[email protected]" <[email protected]>
Subject: RE: partial object caching Thanks for the response John. This really 
looks promising and it meets my first requirement. Yes, I wanted to talk about 
that too. If first client send RR for 1-10 bytes and another RR for 11-20 
bytes. If second client comes and asks for 1-12 bytes, this will still cause a 
fresh fetch request, and cannot be served from cache. Thank you.Madhava From: 
Rushford, John [mailto:[email protected]]
Sent: Thursday, August 06, 2015 8:41 PM
To: [email protected]
Subject: Re: partial object caching Madhava, I recently submitted a range 
request plugin for ATS.  If your analysis shows that clients are deterministic 
with range requests, my plugin may be of use to you.  See 
plugins/experimental/cache_range_requests/ Thanks-- John J. RushfordIPCDN 
Engineering1400 Wewatta Street, Denver Colorado 
[email protected]           From: "Madhava Gaikwad 
(madgaikw)" <[email protected]>
Reply-To: "[email protected]" <[email protected]>
Date: Thursday, August 6, 2015 at 1:29 AM
To: "[email protected]" <[email protected]>
Subject: partial object caching Hello experts, I have legacy forward proxy used 
in enterprise network facing to internet behind firewall. Unfortunately it 
cannot do partial object caching. I am looking if I can get an alternate proxy 
to do this.My requirement is:1.      Partial object caching so updates by apple 
etc. can be cached. Also video caching will just work.2.      Streaming to 
multiple client at same time should be possible from single server connection. 
It seems varnish can do above stuff. But it works effectively as reverse proxy, 
so I have to position it before my proxy, as it cannot work as upstream proxy 
directly. Also its cache seems gets vanished after restart(Everything in cache 
is from heap).Do you guys know if ATS can do this functionality? I believe it 
is not possible, but I thought just ask if we achieve this by any means. A 
pointing to how to would be really appreciated.  Thank you from Newbie,Madhava



  

Reply via email to