[
https://issues.apache.org/jira/browse/SLING-5205?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Robert Munteanu resolved SLING-5205.
------------------------------------
Resolution: Done
This was actually nothing to fix in the new API IMO. What happens is that when
a ResourceResolver is created it holds a reference to the
ResourceProviderStorage at the time of the creation.
When a provider is create / changed / removed a new ResourceProviderStorage
instance is created, with the updated provider list.
Long-running ResourceResolvers will therefore hold on to an outdated list of
providers.
The only fix that I can see being applied here is making the
ResourceProviderInstance thread-safe and shared between all ResourceResolver
instances, but I'm not sure the extra code complexity is worth it.
> Check for potential memory leaks
> --------------------------------
>
> Key: SLING-5205
> URL: https://issues.apache.org/jira/browse/SLING-5205
> Project: Sling
> Issue Type: Sub-task
> Components: ResourceResolver
> Reporter: Carsten Ziegeler
> Assignee: Robert Munteanu
> Fix For: Resource Resolver 1.3.0
>
> Attachments: duplicate-mongodb-resource-provider.png,
> shortest-path.png
>
>
> With long running resource resolvers and provider dynamically being
> registered, we need to check that we don't hold too strong references on the
> providers
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)