Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
-
Reviewed
Description
UGI#getGroups and its usage is inefficient. The list is unnecessarily converted to multiple collections.
For every invocation, the List<String> from the group provider is converted into a LinkedHashSet<String> (to de-dup), back to a String[]. Then callers testing for group membership convert back to a List<String>. This should be done once to reduce allocations.
Attachments
Attachments
Issue Links
- breaks
-
HDFS-10738 Fix TestRefreshUserMappings.testRefreshSuperUserGroupsConfiguration test failure
- Resolved
-
MAPREDUCE-6750 TestHSAdminServer.testRefreshSuperUserGroups is failing
- Resolved
- is duplicated by
-
HADOOP-12253 ViewFileSystem getFileStatus java.lang.ArrayIndexOutOfBoundsException: 0
- Resolved
-
HADOOP-12858 Reduce UGI getGroups overhead
- Resolved
- is required by
-
HDFS-10711 Optimize FSPermissionChecker group membership check
- Resolved
- relates to
-
HADOOP-17079 Optimize UGI#getGroups by adding UGI#getGroupsSet
- Resolved