[ 
https://issues.apache.org/jira/browse/HDFS-7692?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14549889#comment-14549889
 ] 

Leitao Guo commented on HDFS-7692:
----------------------------------

[~eddyxu], thanks for your comments, please have a check of the new patch.
1.In DataStorage#recoverTransitionRead, log the InterruptedException and 
rethrow it as InterruptedIOException;
2.In TestDataStorage#testAddStorageDirectoreis, catch InterruptedException then 
let the test case fail;
3.The multithread in DataStorage#addStorageLocations() is for one specific 
namespace, so in TestDataStorage#testAddStorageDirectoreis my intention is 
creating one thread pool for each namespace. Not change here.
4.Re-phrase the parameter successVolumes.

[~szetszwo],thanks for your comments, please have a check of the new patch.
1. InterruptedException re-thrown as InterruptedIOException;
2. I think it's a good idea to log the upgrade progress for each dir, but so 
far, we can not get the progress easily from the current api. Do you think it's 
necessary to file a new jira to follow this?

> DataStorage#addStorageLocations(...) should support MultiThread to speedup 
> the upgrade of block pool at multi storage directories.
> ----------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HDFS-7692
>                 URL: https://issues.apache.org/jira/browse/HDFS-7692
>             Project: Hadoop HDFS
>          Issue Type: Improvement
>          Components: datanode
>    Affects Versions: 2.5.2
>            Reporter: Leitao Guo
>            Assignee: Leitao Guo
>              Labels: BB2015-05-TBR
>         Attachments: HDFS-7692.01.patch, HDFS-7692.02.patch
>
>
> {code:title=DataStorage#addStorageLocations(...)|borderStyle=solid}
>     for (StorageLocation dataDir : dataDirs) {
>       File root = dataDir.getFile();
>      ... ...
>         bpStorage.recoverTransitionRead(datanode, nsInfo, bpDataDirs, 
> startOpt);
>         addBlockPoolStorage(bpid, bpStorage);
>     ... ...
>       successVolumes.add(dataDir);
>     }
> {code}
> In the above code the storage directories will be analyzed one by one, which 
> is really time consuming when upgrading HDFS with datanodes have dozens of 
> large volumes.  MultiThread dataDirs analyzing should be supported here to 
> speedup upgrade.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to