[ 
https://issues.apache.org/jira/browse/HADOOP-9439?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chris Nauroth updated HADOOP-9439:
----------------------------------

    Attachment: HADOOP-9439.008.patch

The patch caused unsatisfied link errors on Windows.  The problem was most 
easily visible as a test failure in {{TestJNIGroupsMapping}}.

It would be valuable to port this to the Windows side.  The Windows 
implementation was largely based on the prior code, so it's subject to the same 
problems, such as the problems listed in the description here and the memory 
leak I reported in HADOOP-9312.  Unfortunately, I'm not available to do a full 
port and test it right now.  (Any other volunteers?)

Meanwhile, I'm uploading version 8 of the patch, which is the minimal work 
required to prevent breaking Windows.  The only thing I changed in addition to 
Colin's patch is JniBasedUnixGroupsMappingWin.c.  I handled the signature 
change on {{getGroupsForUser}}.  I stubbed {{anchorNative}} to do nothing and 
left a comment explaining that we need the full port of this patch later.
                
> 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, HADOOP-9439.006.patch, HADOOP-9439.007.patch, 
> HADOOP-9439.008.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

Reply via email to