[
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)