Konrad Windszus created SLING-5023:
--------------------------------------
Summary: ResourceResolver bound in ObservationListenerSupport is
stale after the configuration for the Resource Resolver Factory (PID:
org.apache.sling.jcr.resource.internal.JcrResourceResolverFactoryImpl) is
touched
Key: SLING-5023
URL: https://issues.apache.org/jira/browse/SLING-5023
Project: Sling
Issue Type: Bug
Components: JCR
Affects Versions: JCR Resource 2.5.0
Reporter: Konrad Windszus
Currently after reconfiguring the
org.apache.sling.jcr.resource.internal.JcrResourceResolverFactoryImpl the
ResourceResolverFactory service is restarted.
The restart is unfortunately not detected by either {{OakResourceListener}} nor
{{ObservationListenerSupport}}.Therefore the resource resolver being bound in
{{ObservationListenerSupport.resourceResolver}} is not refreshed. As a
consequence this resource resolver is no longer being bound to any
ResourceProviders and therefore all resolve requests on that resolver return
{{null}}.
Possible solution: Add a service tracker for the {{ResourceResolverFactory}} in
{{ObservationListenerSupport}}.
The result of this bug is that after the configuration for the Resource
Resolver Factory is touched, the {{OakResourceListener}} does no longer
propagate any event below jcr:content
(https://github.com/apache/sling/blob/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/OakResourceListener.java#L206)
because of the resource being {{null}} (in
https://github.com/apache/sling/blob/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/OakResourceListener.java#L213).
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)