hadoop-hdfs-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Juan Yu (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HDFS-8407) libhdfs hdfsListDirectory() API has different behavior than documentation
Date Thu, 21 May 2015 05:17:00 GMT

    [ https://issues.apache.org/jira/browse/HDFS-8407?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14553640#comment-14553640
] 

Juan Yu commented on HDFS-8407:
-------------------------------

I think move "errno = ret;" before the if check will cover both cases, right?

> libhdfs hdfsListDirectory() API has different behavior than documentation
> -------------------------------------------------------------------------
>
>                 Key: HDFS-8407
>                 URL: https://issues.apache.org/jira/browse/HDFS-8407
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: HDFS
>            Reporter: Juan Yu
>            Assignee: Masatake Iwasaki
>         Attachments: HDFS-8407.001.patch, HDFS-8407.002.patch, HDFS-8407.003.patch
>
>
> The documentation says it returns NULL on error, but it could also return NULL when the
directory is empty.
>     /** 
>      * hdfsListDirectory - Get list of files/directories for a given
>      * directory-path. hdfsFreeFileInfo should be called to deallocate memory. 
>      * @param fs The configured filesystem handle.
>      * @param path The path of the directory. 
>      * @param numEntries Set to the number of files/directories in path.
>      * @return Returns a dynamically-allocated array of hdfsFileInfo
>      * objects; NULL on error.
>      */
> {code}
>     hdfsFileInfo *pathList = NULL; 
>     ...
>     //Figure out the number of entries in that directory
>     jPathListSize = (*env)->GetArrayLength(env, jPathList);
>     if (jPathListSize == 0) {
>         ret = 0;
>         goto done;
>     }
>     ...
>     if (ret) {
>         hdfsFreeFileInfo(pathList, jPathListSize);
>         errno = ret;
>         return NULL;
>     }
>     *numEntries = jPathListSize;
>     return pathList;
> {code}
> Either change the implementation to match the doc, or fix the doc to match the implementation.



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

Mime
View raw message