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

Dirk Rudolph commented on SLING-9040:
-------------------------------------

I'm working on a patch that reduces the collection of ResourceProviderHandlers 
being updated to those that actually can intersect. This is in most cases max 2 
(root an the actual activated/deactivated ResourceProvider). 

Still JcrResourceProvider is on each ResourceProvider#update(long) removing and 
registering its jcr listener(s). This should be addressed as well.

> High resource consumption when activating/deactivating ResourceProviders
> ------------------------------------------------------------------------
>
>                 Key: SLING-9040
>                 URL: https://issues.apache.org/jira/browse/SLING-9040
>             Project: Sling
>          Issue Type: Bug
>          Components: ResourceResolver
>            Reporter: Dirk Rudolph
>            Priority: Blocker
>             Fix For: Resource Resolver 1.6.18
>
>
> With SLING-8946 the updating of all ResourceProviders when their exclude path 
> set changes was introduced to prevent non-deterministic behaviour of resource 
> observation. 
> This change though caused calling {{updateProviderContext()}} and 
> {{ResourceProviderHandler#update()}} on every registered 
> {{ResourceProviderHandler}} when a new ResourceProvider was 
> activated/deactivated no matter if the paths actually intersect. 
> This is quite resource consuming (processing time and memory) and should be 
> reduced to update only those handlers that actually intersect with the 
> handler added/removed.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to