You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-issues@hadoop.apache.org by "Steve Loughran (JIRA)" <ji...@apache.org> on 2016/05/26 20:55:13 UTC

[jira] [Created] (HADOOP-13208) listFiles(recursive=true) to do a bulk listObjects instead of walking the pseudo-tree of directories

Steve Loughran created HADOOP-13208:
---------------------------------------

             Summary: listFiles(recursive=true) to do a bulk listObjects instead of walking the pseudo-tree of directories
                 Key: HADOOP-13208
                 URL: https://issues.apache.org/jira/browse/HADOOP-13208
             Project: Hadoop Common
          Issue Type: Sub-task
          Components: fs/s3
    Affects Versions: 2.8.0
            Reporter: Steve Loughran
            Assignee: Steve Loughran
            Priority: Minor


A major cost in split calculation against object stores turns out be listing the directory tree itself. That's because against S3, it takes S3A two HEADs and two lists to list the content of any directory path (2 HEADs + 1 list for getFileStatus(); the next list to query the contents).

Listing a directory could be improved slightly by combining the final two listings. However, a listing of a directory tree will still be O(directories). In contrast, a recursive {{listFiles()}} operation should be implementable by a bulk listing of all descendant paths; one List operation per thousand descendants. 

As the result of this call is an iterator, the ongoing listing can be implemented within the iterator itself



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

---------------------------------------------------------------------
To unsubscribe, e-mail: common-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-issues-help@hadoop.apache.org