hadoop-common-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ravi Prakash (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HADOOP-11827) Speed-up distcp buildListing() using threadpool
Date Mon, 20 Apr 2015 22:57:59 GMT

    [ https://issues.apache.org/jira/browse/HADOOP-11827?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14503884#comment-14503884

Ravi Prakash commented on HADOOP-11827:

Hi Zoran! Thanks for all your work

Here's a preliminary review. I haven't reviewed test code at all
# Please remove todo(zoran). No FNF shouldn't lead to a retry. We should keep the behavior
same (even though I think it should ideally exit with an exception because someone is likely
modifying the tree during the distcp)
# listStatuse -> listStatus ?
# Could you please document the max 40 thread limit?
# Any reason you don't want to default numListstatusThreads to 1 (instead of 0)?
# Do you really need {{protected SimpleCopyListing(Configuration configuration, Credentials
credentials, int numListstatusThreads)}} ? Could you just set configuration it in configuration?
# Could you please document FileStatusProcessor ?
# I think its useful to have a wrapper ProducerConsumer implementation IF there isn't a way
to trivially accomplish it. We should either move it into the  org.apache.hadoop.tools.util
package or use the trivial implementation
# We can probably make maybePrintStats more efficient if we chose a number which is a power
of 2 rather than 100000
# dirCnt isn't used . getChildren too.
# {{new FileStatusProcessor(sourcePathRoot.getFileSystem(getConf()))); }} may not be the right
thing to do. If two sources (from different file systems are used), would this cause an error?
# ProducerConsumer.take() calls LinkedBlockingQueue.take() which claims to block. Should the
javadoc say non-blocking?

These were my questions so far. I'll keep reviewing, but in the meantime we can multithread
progress on this issue ;-)

> Speed-up distcp buildListing() using threadpool
> -----------------------------------------------
>                 Key: HADOOP-11827
>                 URL: https://issues.apache.org/jira/browse/HADOOP-11827
>             Project: Hadoop Common
>          Issue Type: Improvement
>          Components: tools/distcp
>    Affects Versions: 2.7.0, 2.7.1
>            Reporter: Zoran Dimitrijevic
>            Assignee: Zoran Dimitrijevic
>         Attachments: HADOOP-11827-02.patch, HADOOP-11827.patch
>   Original Estimate: 24h
>  Remaining Estimate: 24h
> For very large source trees on s3 distcp is taking long time to build file listing (client
code, before starting mappers). For a dataset I used (1.5M files, 50K dirs) it was taking
65 minutes before my fix in HADOOP-11785 and 36 minutes after the fix).

This message was sent by Atlassian JIRA

View raw message