[ 
https://issues.apache.org/jira/browse/MAPREDUCE-2167?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12926432#action_12926432
 ] 

dhruba borthakur commented on MAPREDUCE-2167:
---------------------------------------------

This approach looks fine to me, the changes u mention are all encapsulated 
inside DirectoryTraversal.java, isn;t it?
The only drawback is that if you bump up the number of threads to high, then 
the load on the NN would increase dramatically. 

> Faster directory traversal for raid node
> ----------------------------------------
>
>                 Key: MAPREDUCE-2167
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-2167
>             Project: Hadoop Map/Reduce
>          Issue Type: Improvement
>          Components: contrib/raid
>            Reporter: Ramkumar Vadali
>            Assignee: Ramkumar Vadali
>
> The RaidNode currently iterates over the directory structure to figure out 
> which files to RAID. With millions of files, this can take a long time - 
> especially if some files are already RAIDed and the RaidNode needs to look at 
> parity files / parity file HARs to determine if the file needs to be RAIDed.
> The directory traversal is encapsulated inside the class DirectoryTraversal, 
> which examines one file at a time, using the caller's thread.
> My proposal is to make this multi-threaded as follows:
>  * use a pool of threads inside DirectoryTraversal
>  * The caller's thread is used to retrieve directories, and each new 
> directory is assigned to a thread in the pool. The worker thread examines all 
> the files the directory.
>  * If there sub-directories, those are added back as workitems to the pool.
> Comments?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to