[
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)