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