[
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.