[ 
https://issues.apache.org/jira/browse/SLING-11780?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17691105#comment-17691105
 ] 

Roy Teeuwen commented on SLING-11780:
-------------------------------------

[~joerghoh] are you proposing to fix this on ResourceResolver level or on 
JcrResourceProvider level? I don't see this working if you put the cache on 
ResourceResolver and you'd have a ResourceProvider that takes specific cases to 
return / not return null for the same path, seeing as the ResourceProvider 
could be another one not backed by JCR so the cache purge events will not be 
valid there

> Cache non-existing resources
> ----------------------------
>
>                 Key: SLING-11780
>                 URL: https://issues.apache.org/jira/browse/SLING-11780
>             Project: Sling
>          Issue Type: Improvement
>          Components: ResourceResolver
>    Affects Versions: Resource Resolver 1.10.0
>            Reporter: Joerg Hoh
>            Assignee: Joerg Hoh
>            Priority: Major
>
> I found that in many situations various Sling features probe for the 
> existence of resources, for example the Sling Servlet Resolution and also 
> Sling Context-Aware Configuration. If these functions are called multiple 
> times during the lifetime of a ResourceResolver, the ResourceResolver always 
> checks for the presence of these resources and will consistently return 
> "null" (non-existing resource).
> Due to the MVCC pattern we can cache the information that a resource does not 
> exist at the ResourceResolver.
> To support changes performed to the Repository by this specific 
> ResourceResolver, this cache should be purged by a modifying operations 
> (move, copy, create, delete), but also on refresh.
> (Background: I found that for the rendering on a mildly complex AEM page 
> (WKND sample content) I have 18 paths, for which the existence of a resource 
> is tested more than 50 times and consistently returned "null". I expect that 
> a caching of this information will save a good number of CPU cycles in Oak.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to