cocoon-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ard Schrijvers" <>
Subject RE: cache
Date Wed, 05 Jul 2006 16:55:38 GMT
> Consider a counter-example:
> <map:generate src="myfile.xml" /><!-- cacheable -->
> <map:transform type="xslt" src="transform1.xsl" /><!-- cacheable -->
> <map:transform type="sql" /><!-- non-cacheable -->
> <map:transform type="xslt" src="transform2.xsl" /><!-- 
> normally cacheable
> but not in this case since it follows a non-cacheable component -->
> <map:serialize />
> I believe that what happens, and what the documentation text is
> describing, is that when this pipeline is first executed it 
> caches as much
> of the pipeline as it can: in this case the output from the first two
> components, since those are the cacheable ones.  Then on subsequent
> requests it uses that cached output and feeds it directly to the sql
> transformer, without running the first two components again.
> This is not consistent with your statement "The default 
> algorithm for a
> pipeline cache either results the entire pipeline OR nothing of it!". 
> Part of the pipeline is being cached.
> Now, say you make a change to transform1.xsl, so the first 
> map:transform
> reports its cache validity as being invalid.  Now here it *is*
> all-or-nothing; the entire pipeline is regenerated from the first
> component. But this is still consistent with the documentation.

Yes, you are right. I think I never noticed, because if someting is not cacheable in my case,
it is almost always a generator. But looking at pipeline impl reveals indeed that partial
caching is done until the first not cacheable transformer. 

I am just not sure where exactly that CachingPointProcessingPipeline is good for then: it
suggests it is for cocoon-views.

Anyway, you are right about the partial caching untill the first not-cacheable transformer
is found.

Regards Ard

> --Jason
> ---------------------------------------------------------------------
> To unsubscribe, e-mail:
> For additional commands, e-mail:

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message