Illya Yalovyy created HIVE-15076:
------------------------------------

             Summary: Improve scalability of LDAP authentication provider group 
filter
                 Key: HIVE-15076
                 URL: https://issues.apache.org/jira/browse/HIVE-15076
             Project: Hive
          Issue Type: Improvement
          Components: Authentication
    Affects Versions: 2.1.0
            Reporter: Illya Yalovyy
            Assignee: Illya Yalovyy


Current implementation uses following algorithm:
#   For a given user find all groups that user is a member of. (A list of LDAP 
groups is constructed as a result of that request)
#  Match this list of groups with provided group filter.
 
Time/Memory complexity of this approach is O(N) on client side, where N – is a 
number of groups the user has membership in. On a large directory (800+ groups 
per user) we can observe up to 2x performance degradation and failures because 
of size of LDAP response (LDAP: error code 4 - Sizelimit Exceeded).
 
Some Directory Services (Microsoft Active Directory for instance) provide a 
virtual attribute for User Object that contains a list of groups that user 
belongs to. This attribute can be used to quickly determine whether this user 
passes or fails the group filter.   



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

Reply via email to