Juan Yu created HDFS-8407: ----------------------------- Summary: 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
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)