[
https://issues.apache.org/jira/browse/HADOOP-9439?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13678312#comment-13678312
]
Colin Patrick McCabe commented on HADOOP-9439:
----------------------------------------------
bq. Invalid groups are a sore point for ShellBasedUnixGroupsMapping. If any
invalid groups are associated with a user, the "groups" program will fail with
a non-zero return code, and no information is returned
Actually, I just tested the behavior of ShellBasedUnixGroupsMapping when a
group can't be resolved. Apparently it just creates an empty array entry for
that group, but returns all the others (at least on Linux.) I think the reason
is because although the "groups" command has the behavior I described, we are
now using the "id -Gn" command, which ignores illegal groups.
I also verified that this patch works in the case where a group can't be
resolved.
> JniBasedUnixGroupsMapping: fix some crash bugs
> ----------------------------------------------
>
> Key: HADOOP-9439
> URL: https://issues.apache.org/jira/browse/HADOOP-9439
> Project: Hadoop Common
> Issue Type: Bug
> Components: native
> Affects Versions: 2.0.4-alpha
> Reporter: Colin Patrick McCabe
> Assignee: Colin Patrick McCabe
> Priority: Minor
> Attachments: HADOOP-9439.001.patch, HADOOP-9439.003.patch,
> HADOOP-9439.005.patch, HDFS-4640.002.patch
>
>
> JniBasedUnixGroupsMapping has some issues.
> * sometimes on error paths variables are freed prior to being initialized
> * re-allocate buffers less frequently (can reuse the same buffer for multiple
> calls to getgrnam)
> * allow non-reentrant functions to be used, to work around client bugs
> * don't throw IOException from JNI functions if the JNI functions do not
> declare this checked exception.
> * don't bail out if only one group name among all the ones associated with a
> user can't be looked up.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira