[jira] [Assigned] (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:all-tabpanel ] Masatake Iwasaki reassigned HDFS-8407: -- Assignee: Masatake Iwasaki (was: surendra singh lilhore) 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 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)
[jira] [Assigned] (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:all-tabpanel ] surendra singh lilhore reassigned HDFS-8407: Assignee: surendra singh lilhore 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 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)