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 25CAA200B54 for ; Wed, 13 Jul 2016 15:58:23 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 22E1C160A62; Wed, 13 Jul 2016 13:58:23 +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 68A86160A6A for ; Wed, 13 Jul 2016 15:58:22 +0200 (CEST) Received: (qmail 10082 invoked by uid 500); 13 Jul 2016 13:58: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 9968 invoked by uid 99); 13 Jul 2016 13:58:21 -0000 Received: from arcas.apache.org (HELO arcas) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 13 Jul 2016 13:58:21 +0000 Received: from arcas.apache.org (localhost [127.0.0.1]) by arcas (Postfix) with ESMTP id DD61A2C02B7 for ; Wed, 13 Jul 2016 13:58:20 +0000 (UTC) Date: Wed, 13 Jul 2016 13:58: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: Wed, 13 Jul 2016 13:58:23 -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-011.patch Patch 011: fix up TestS3ADirectoryPerformance to correctly validate the number of requests made during the listStatus() call, changed the assert to only expect two object list requests (the initial is-directory probe and the followup listing). Split the counter of object list requests into one for the initial request and one for followup actions. > 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 > > 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