[ 
https://issues.apache.org/jira/browse/HADOOP-10987?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Kihwal Lee updated HADOOP-10987:
--------------------------------
    Attachment: HADOOP-10987.v4_with_comment_fix.patch
                HADOOP-10987.v4_with_comment_fix.branch-2.patch

Attaching new patches with the comment fixed.  Since there is no actual code 
change, I will not make it go through the precommit process. This is the diff:

{code}
> @@ -1701,6 +1701,36 @@ public LocatedFileStatus next() throws IOException {
10,11c10,12
< +   * while consuming the entries. This reduces memory consumption during
< +   * listing of a large directory.
---
> +   * while consuming the entries. Each file system implementation should
> +   * override this method and provide a more efficient implementation, if
> +   * possible. 

{code}

> Provide an iterator-based listing API for FileSystem
> ----------------------------------------------------
>
>                 Key: HADOOP-10987
>                 URL: https://issues.apache.org/jira/browse/HADOOP-10987
>             Project: Hadoop Common
>          Issue Type: Improvement
>            Reporter: Kihwal Lee
>            Assignee: Kihwal Lee
>         Attachments: HADOOP-10987.patch, HADOOP-10987.v2.patch, 
> HADOOP-10987.v3.patch, HADOOP-10987.v4.branch-2.patch, HADOOP-10987.v4.patch, 
> HADOOP-10987.v4_with_comment_fix.branch-2.patch, 
> HADOOP-10987.v4_with_comment_fix.patch
>
>
> Iterator based listing methods already exist in {{FileContext}} for both 
> simple listing and listing with locations. However, {{FileSystem}} lacks the 
> former.  From what I understand, it wasn't added to {{FileSystem}} because it 
> was believed to be phased out soon. Since {{FileSystem}} is very well alive 
> today and new features are getting added frequently, I propose adding an 
> iterator based {{listStatus}} method. As for the name of the new method, we 
> can use the same name used in {{FileContext}} : {{listStatusIterator()}}.
> It will be particularly useful when listing giant directories. Without this, 
> the client has to build up a huge data structure and hold it in memory. We've 
> seen client JVMs running out of memory because of this.
> Once this change is made, we can modify FsShell, etc. in followup jiras.



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

Reply via email to