You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sentry.apache.org by Arjun Mishra via Review Board <no...@reviews.apache.org> on 2018/01/04 00:26:11 UTC
Re: Review Request 64661: SENTRY-1944: Optimize
DelegateSentryStore.getGroupsByRoles()
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/64661/
-----------------------------------------------------------
(Updated Jan. 4, 2018, 12:26 a.m.)
Review request for sentry, Alexander Kolbasov, Brian Towles, kalyan kumar kalvagadda, Na Li, Sergio Pena, and Vadim Spector.
Repository: sentry
Description (updated)
-------
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
Attach one or more files to this issue
Diffs
-----
sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/provider/db/generic/service/persistent/DelegateSentryStore.java 4cb46abc5
sentry-provider/sentry-provider-db/src/test/java/org/apache/sentry/provider/db/generic/service/persistent/TestDelegateSentryStore.java 69d16238f
Diff: https://reviews.apache.org/r/64661/diff/4/
Testing
-------
mvn -f sentry-provider/sentry-provider-db/pom.xml test
Thanks,
Arjun Mishra