[
https://issues.apache.org/jira/browse/SLING-8946?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17033436#comment-17033436
]
Sonal Gupta edited comment on SLING-8946 at 2/10/20 8:41 AM:
-------------------------------------------------------------
[~diru] [^test.zip]Can you please use try the attached mvn project and execute
TargetIntegrationIT.java test cases from the same. Without the change all tests
pass and there are all failures on applying the fix. Please use a valid AEM
server 6.4.7 author as argument -Dgranite.it.author.url=http://<server>:<port>
All tests are passing on the 6.4.7 server and start to fail only after updating
the sling resurce resolver bundle
was (Author: sonagupt):
[~diru] [^test.zip]Can you please use try the attached mvn project and execute
TargetIntegrationIT.java test cases from the same. Without the change all tests
pass and there are all failures on applying the fix. Please use a valid AEM
server 6.4.7 author as argument -Dgranite.it.author.url=http://<server>:<port>
> Non-deterministic shadowing of resource observation
> ---------------------------------------------------
>
> Key: SLING-8946
> URL: https://issues.apache.org/jira/browse/SLING-8946
> Project: Sling
> Issue Type: Bug
> Components: ResourceResolver
> Affects Versions: Resource Resolver 1.5.34
> Reporter: Dirk Rudolph
> Assignee: Robert Munteanu
> Priority: Critical
> Fix For: Resource Resolver 1.6.18
>
> Attachments: test.zip
>
> Time Spent: 1.5h
> Remaining Estimate: 0h
>
> The BasicObservationReporter implements shadowing of events being propagated
> per ResourceProvider instance [1]. Assuming we do have 2 ResourceProviders
> registered, where the one shadows the other like this:
> - RP A registered on /
> - RP B registered on /path
> then currently the excludes given to the BasicObservationReporter are
> different depending on either RP A or RP B gets registered first:
> - RP A before RP B => excludes are empty
> - RP B before RP A => excludes contain /path
> This is because only the newly registered RP gets its ProviderContext updated
> [2]
> Same applies if RP B is registered before RP A and gets unregistered. In that
> case the ObservationReporter of RP A stays untouched.
> [1]
> [https://github.com/apache/sling-org-apache-sling-resourceresolver/blob/master/src/main/java/org/apache/sling/resourceresolver/impl/observation/BasicObservationReporter.java#L102]
> [2]
> [https://github.com/apache/sling-org-apache-sling-resourceresolver/blob/master/src/main/java/org/apache/sling/resourceresolver/impl/providers/ResourceProviderTracker.java#L358]
--
This message was sent by Atlassian Jira
(v8.3.4#803005)