httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Graham Leggett <>
Subject Re: [PATCH] mod_cache: support caching of streamed responses
Date Mon, 02 Sep 2002 20:38:43 GMT
Brian Pane wrote:

> In the "shawowing" case, we'd also need a way for all the requests
> reading from the same incomplete cache entry to block if they reach
> the end of the incomplete cached brigade without seeing EOS.  I guess
> we could do this by adding a condition variable to every incomplete
> entry in the cache, so that the threads shadowing the request could
> block if they'd sent all the data available so far.  And then the
> thread that was actually retrieving the resource would signal the
> condition variable each time it added some more data to the cache
> entry.
> But that's way too complicated. :-)
> What do you think about the following as a low-tech solution:
> * Keep the current model of only putting complete responses in
>  the cache (at least for now).

This was exactly how the old cached worked - which would mean we just 
rewrote the cache to have exactly the same design flaws as the old cache 
did, which is a big waste of time.

This problem causes an annoying race condition: when a cached object 
expires, for a short time from expiry to cache-complete all requests go 
through to the backend. This causes load spikes, which on expensive 
backends can be really annoying (it has been reported so in the past). A 
key design feature of the new cache was to allow "shadowing" to be 
possible, ie a partially cached response would be servable by other 
cache threads/processes, thus solving this problem.

	"There's a moon
					over Bourbon Street

View raw message