Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id B8971200B53 for ; Tue, 12 Jul 2016 17:07:22 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id B7330160A53; Tue, 12 Jul 2016 15:07:22 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 0B6EF160A56 for ; Tue, 12 Jul 2016 17:07:21 +0200 (CEST) Received: (qmail 42001 invoked by uid 500); 12 Jul 2016 15:07:21 -0000 Mailing-List: contact common-issues-help@hadoop.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Delivered-To: mailing list common-issues@hadoop.apache.org Received: (qmail 41933 invoked by uid 99); 12 Jul 2016 15:07:21 -0000 Received: from arcas.apache.org (HELO arcas) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 12 Jul 2016 15:07:21 +0000 Received: from arcas.apache.org (localhost [127.0.0.1]) by arcas (Postfix) with ESMTP id D7C7D2C02AF for ; Tue, 12 Jul 2016 15:07:20 +0000 (UTC) Date: Tue, 12 Jul 2016 15:07:20 +0000 (UTC) From: "Steve Loughran (JIRA)" To: common-issues@hadoop.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Updated] (HADOOP-13208) S3A listFiles(recursive=true) to do a bulk listObjects instead of walking the pseudo-tree of directories MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 archived-at: Tue, 12 Jul 2016 15:07:22 -0000 [ https://issues.apache.org/jira/browse/HADOOP-13208?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Steve Loughran updated HADOOP-13208: ------------------------------------ Attachment: HADOOP-13208-branch-2-009.patch Patch 009. # specify RemoteIterator in {{filesystem.md}}, specifically that implementations MUST return finite sequence, that a {{while(true) next();}} is a valid iteration, and cover concurrency issues. # listing tests also grab the remote iterators returned and do the {{while(true)}} evaluation, verifying the results match. # Fix S3AFileSystem iterators to correctly pass these new tests (the other filesystems, which don't override the default list* operations, all pass) # javadoc all RemoteIterators in S3AFileSystem, so explaining chained operations > 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 > > 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