cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Geoff Howard <>
Subject Re: Event caching and CachedSource
Date Tue, 02 Mar 2004 12:30:51 GMT
Unico Hommes wrote:

> Hi gang :-)
> A drawback I have been running into lately with eventcache mechanism 
> is that it lacks the ability to remove heavy processing from the 
> critical path. An event will simply remove a set of cached pipelines 
> from the cache completely. Making the subsequent request for such a 
> pipeline potentialy very slow. In applications where isolation is not 
> a requirement this is an unnecessary drawback.

Below sounds interesting and good but I haven't understood how event 
cache is related.  AFAICS the only difference with eventcache and the 
other validity types is that for the others an invalid response is found 
in cache, but not used because it is found invalid after retrieval, but 
the event cache removes the entry at invalidation time since it knows it 
will never be useful.  Both cases mean that the next person to request 
that resource will have to wait for the full generation.  Maybe because 
I've only glanced at the refresher stuff?

Bottom line for me at moment is: do you foresee a need to modify the 
eventcache API to accomodate this need?  I'm getting ready to start a 
discussion on changing the eventcache unstable status -- should I hold off?

> I am looking at the excellent CachedSource stuff that is in the 
> scratchpad area ATM and am wondering how it fits together with the 
> eventcache stuff. One thing I am looking into right now is to write an 
> EventAware Refresher implementation.
> For those unfamiliar with CachedSource, it is a Source wrapper that 
> can cache a its delegate. Refreshing can be done either synchronously 
> or asynchronously but currently only based upon a specified time-out. 
> What I'd like to do is generalize this a bit in order to add the 
> ability to  externally trigger invalidation.
> For this however I think a modification to the Refresher interface is 
> needed.

BTW, how does CachedSource accomplish something different from the 
caching point pipeline (which seems to accomplish more, though I've 
never used it).


View raw message