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