trafficserver-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sudheer Vinukonda <>
Subject Re: partial object caching
Date Thu, 06 Aug 2015 21:13:29 GMT
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.

     On Thursday, August 6, 2015 12:18 PM, Mateusz Zajakala <> wrote:

 One question about the background fetch plugin. How does it relate (if at all) to configs

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

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) <> 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 []
Sent: Thursday, August 06, 2015 9:15 PM
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           From:
"Madhava Gaikwad (madgaikw)" <>
Reply-To: "" <>
Date: Thursday, August 6, 2015 at 9:35 AM
To: "" <>
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 []
Sent: Thursday, August 06, 2015 8:41 PM
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           From:
"Madhava Gaikwad (madgaikw)" <>
Reply-To: "" <>
Date: Thursday, August 6, 2015 at 1:29 AM
To: "" <>
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

View raw message