You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-dev@hadoop.apache.org by "James Yu (JIRA)" <ji...@apache.org> on 2013/03/07 06:44:13 UTC

[jira] [Created] (HADOOP-9377) FTPFileSystem.listStatus() runs very slow, due to inappropriate call of filePath.makeQualified

James Yu created HADOOP-9377:
--------------------------------

             Summary: FTPFileSystem.listStatus() runs very slow, due to inappropriate call of filePath.makeQualified
                 Key: HADOOP-9377
                 URL: https://issues.apache.org/jira/browse/HADOOP-9377
             Project: Hadoop Common
          Issue Type: Bug
          Components: fs
    Affects Versions: 2.0.3-alpha
            Reporter: James Yu


FTPFileSystem.listStatus() calls
getFileStatus(ftpFiles[i], absolute) calls
new FileStatus(....) calls 
filePath.makeQualified(...) calls
fs.getWorkingDirectory() calls
getHomeDirectory()

which creates new FTP connection every time, to get the workdingDirectory. this caused the FTPFileSystem.listStatus() takes long time to run (on average 3-6 seconds per file in my test).

I attach a suggestion of fix in FTPFileSystem.java, only 4 lines of change. after the fix, there's no slowness issue anymore.



--
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