Hi,
For an edge case outlined at SLING-12245 [0] the resource change listeners are 
not implemented correctly.
Although fixing each change listener would be possible with expensive traversal 
operations for each “ADDED” event I would rather aim for a solution on a higher 
level (i.e. on 
https://github.com/apache/sling-org-apache-sling-jcr-resource/blob/master/src/main/java/org/apache/sling/jcr/resource/internal/JcrResourceListener.java
 or 
https://github.com/apache/sling-org-apache-sling-resourceresolver/blob/master/src/main/java/org/apache/sling/resourceresolver/impl/observation/BasicObservationReporter.java.

I would appreciate your input on this as it seems that Carsten was rather in 
favour of fixing this for every resource change listener individually.
I fear that not only the Sling internal resource change listeners are affected 
but probably almost all downstream consumers as well…

Having said that I would also appreciate input on which level to implement the 
fix:
a) Oak level
b) Resource Resolver level
c) JCR Resource level
d) Each ResourceChangeListener individually

Thanks in advance,
Konrad

[0] - https://issues.apache.org/jira/browse/SLING-12245

Reply via email to