[
https://issues.apache.org/jira/browse/OAK-3201?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Francesco Mari updated OAK-3201:
--------------------------------
Attachment: OAK-3201-03.patch
[^OAK-3201-03.patch] should solve the issue. Unit and integration tests are
passing on my machine.
I didn't have to modify any test, except for an OSGi configuration used in
{{OakOSGiRepositoryFactoryTest}}. This test uses a custom implementation of
{{AuthorizableActionProvider}}. so I had to provide a way to disable the
default implementation. I could have disabled the component, but I personally
like to have this option available via OSGi configuration. If this patch is
applied, I would like to use the same strategy for the other components (but
this is out of the scope of the current fix).
[~chetanm], [~mreutegg], can you have a look at the patch?
> Use static references in SecurityProviderImpl for composite services
> --------------------------------------------------------------------
>
> Key: OAK-3201
> URL: https://issues.apache.org/jira/browse/OAK-3201
> Project: Jackrabbit Oak
> Issue Type: Bug
> Components: core
> Reporter: Francesco Mari
> Assignee: Francesco Mari
> Fix For: 1.3.6
>
> Attachments: OAK-3201-01.patch, OAK-3201-02.patch, OAK-3201-03.patch,
> mbean-test.log
>
>
> {{SecurityProviderImpl}} has dynamic references to many other services, like
> {{RestrictionProvider}}, that represent the configuration of this component.
> Being these services dynamic, the OSGi runtime has no clear dependency
> relationship between the {{SecurityProviderImpl}} and the required services.
> Thus, it may happen that an instance of {{SecurityProviderImpl}} is published
> before the services it requires are started, creating a window where the
> {{SecurityProviderimpl}} is operating differently from the way it's
> configured.
> I suggest to turn the dynamic references in {{SecurityProviderImpl}} to
> static ones to improve the consistency of the implementation.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)