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

Arjun Mishra updated SENTRY-1944:
---------------------------------
    Description: 
When Solr is using Sentry server for authorization, it issues a lot of calls to 
{{getGroupsByRoles()}} function in {{DelegateSentryStore}}.

This function isn't very efficient - it walks over each role in the set, 
obtains role by name, get groups for each role, and collects all group names 
into a set.

It may be possible to optimize it.

Also, in SentryGenericPolicyProcessor class method list_sentry_roles_by_group() 
would make N transactions to build the roles to set of groups map. Instead, 
make it to a single transaction. This will significantly speed up operation

  was:
When Solr is using Sentry server for authorization, it issues a lot of calls to 
{{getGroupsByRoles()}} function in {{DelegateSentryStore}}.

This function isn't very efficient - it walks over each role in the set, 
obtains role by name, get groups for each role, and collects all group names 
into a set.

It may be possible to optimize it.


> Optimize DelegateSentryStore.getGroupsByRoles() and retrieve roles to group 
> mapping in a single transaction
> -----------------------------------------------------------------------------------------------------------
>
>                 Key: SENTRY-1944
>                 URL: https://issues.apache.org/jira/browse/SENTRY-1944
>             Project: Sentry
>          Issue Type: Improvement
>          Components: Sentry
>    Affects Versions: 2.0.0
>            Reporter: Alexander Kolbasov
>            Assignee: Arjun Mishra
>         Attachments: SENTRY-1944.01.patch, SENTRY-1944.02.patch, 
> SENTRY-1944.03.patch
>
>
> When Solr is using Sentry server for authorization, it issues a lot of calls 
> to {{getGroupsByRoles()}} function in {{DelegateSentryStore}}.
> This function isn't very efficient - it walks over each role in the set, 
> obtains role by name, get groups for each role, and collects all group names 
> into a set.
> It may be possible to optimize it.
> Also, in SentryGenericPolicyProcessor class method 
> list_sentry_roles_by_group() would make N transactions to build the roles to 
> set of groups map. Instead, make it to a single transaction. This will 
> significantly speed up operation



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to