You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-issues@hadoop.apache.org by "Masatake Iwasaki (JIRA)" <ji...@apache.org> on 2015/05/15 10:53:00 UTC

[jira] [Commented] (HDFS-8407) libhdfs hdfsListDirectory() API has different behavior than documentation

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

Masatake Iwasaki commented on HDFS-8407:
----------------------------------------

Oops. [~surendrasingh] set assignee before I reload the page. Sorry for breaking in...

> 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: surendra singh lilhore
>         Attachments: HDFS-8407.001.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)