jackrabbit-oak-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Chetan Mehrotra (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (OAK-3146) ExternalLoginModuleFactory should inject SyncManager and ExternalIdentityProviderManager
Date Mon, 27 Jul 2015 15:09:05 GMT

     [ https://issues.apache.org/jira/browse/OAK-3146?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel

Chetan Mehrotra updated OAK-3146:
    Attachment: OAK-3146.patch

[patch|^OAK-3146.patch] with proposed approach. {{ExternalLoginModule}} would continue to
work as is in non OSGi env i.e. one which is not back by Felix JAAS support. However if LoginModule
is created via LoginModuleFactory then the syncManager etc would be initialized and expensive
service lookup would be avoided in initialize call

Would see if I can come up with a testcase. Validating that {{ExternalLoginModule}} is not
doing a lookup and instead using the passed references is tricky

[~tripod] Can you review the patch?

> ExternalLoginModuleFactory should inject SyncManager and ExternalIdentityProviderManager
> ----------------------------------------------------------------------------------------
>                 Key: OAK-3146
>                 URL: https://issues.apache.org/jira/browse/OAK-3146
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: security
>            Reporter: Chetan Mehrotra
>            Priority: Minor
>             Fix For: 1.2.4, 1.3.4, 1.0.18
>         Attachments: OAK-3146.patch
> {{ExternalLoginModule}} currently performs a lookup of {{SyncManager}} and {{ExternalIdentityProviderManager}}
in initialize call which performs service lookup using ServiceTracker. Doing a service lookup
in critical path would have adverse performance impact. 
> Instead of performing the lookup {{ExternalLoginModuleFactory}} should track the two
manager instances and pass them to {{ExternalLoginModule}}. This would ensure that expensive
operation like service lookup is not performed in critical path

This message was sent by Atlassian JIRA

View raw message