hadoop-common-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Chris Nauroth (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HADOOP-13208) S3A listFiles(recursive=true) to do a bulk listObjects instead of walking the pseudo-tree of directories
Date Wed, 17 Aug 2016 21:11:20 GMT

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

Chris Nauroth updated HADOOP-13208:
-----------------------------------
    Attachment: HADOOP-13208-branch-2-021.patch

Steve, thank you for patch 020.  I verified all tests passing when applied to trunk, running
against an S3 bucket in US-west-2.  Refactoring to the new {{Listing}} class is helpful.

I'm attaching patch 021 with some trivial changes to get us a clean pre-commit run:

* Correct JavaDoc parameter name that was causing a JavaDoc failure for Java 8.
* Wrap some lines that were longer than 80 characters in {{Listing}}.

> S3A 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
>         Attachments: HADOOP-13208-branch-2-001.patch, HADOOP-13208-branch-2-007.patch,
HADOOP-13208-branch-2-008.patch, HADOOP-13208-branch-2-009.patch, HADOOP-13208-branch-2-010.patch,
HADOOP-13208-branch-2-011.patch, HADOOP-13208-branch-2-012.patch, HADOOP-13208-branch-2-017.patch,
HADOOP-13208-branch-2-018.patch, HADOOP-13208-branch-2-019.patch, HADOOP-13208-branch-2-020.patch,
HADOOP-13208-branch-2-021.patch
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> 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


Mime
View raw message