You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-issues@jackrabbit.apache.org by "angela (JIRA)" <ji...@apache.org> on 2015/08/11 09:42:46 UTC

[jira] [Resolved] (OAK-3003) Improve login performance with huge group membership

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

angela resolved OAK-3003.
-------------------------
       Resolution: Fixed
    Fix Version/s: 1.3.4

Committed OAK-3003_4.patch at revision 1695223


> Improve login performance with huge group membership
> ----------------------------------------------------
>
>                 Key: OAK-3003
>                 URL: https://issues.apache.org/jira/browse/OAK-3003
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: core
>            Reporter: angela
>            Assignee: angela
>              Labels: performance
>             Fix For: 1.3.4
>
>         Attachments: OAK-3003.patch, OAK-3003_2.patch, OAK-3003_3.patch, OAK-3003_4.patch, group_cache_in_userprincipalprovider.txt
>
>
> As visible when running {{LoginWithMembershipTest}} default login performance (which uses the {{o.a.j.oak.security.principal.PrincipalProviderImpl}} to lookup the complete set of principals) suffers when a given user is member of a huge number of groups (see also OAK-2690 for benchmark data).
> While using dynamic group membership (and thus a custom {{PrincipalProvider}} would be the preferable way to deal with this, we still want to optimize {{PrincipalProvider.getPrincipals(String userId}} for the default implementation.
> With the introduction of a less generic implementation in OAK-2690, we might be able to come up with an optimization that makes use of the very implementation details of the user management while at the same time being able to properly secure it as we won't need to extend the public API.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)