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

Colin Patrick McCabe commented on HDFS-7035:
--------------------------------------------

Thanks for working on this.

The patch needs to be updated to rebase on trunk.  It didn't apply for me.

Can you try using a utility class rather than creating a new layer in the 
Storage inheritance hierarchy?  Implementation inheritance can get confusing.  
Perhaps a util class would allow BlockPoolSliceStorage and DataStorage to share 
code just as well, without adding more up and down calls.

{code}
          exceptions.add(service.submit(new Callable<IOException>() {
            \@Override
            public IOException call() throws Exception {
              try {
{code}

Can you update the JIRA description to point out that we're also parallelizing 
loading volumes?

It might be nice to catch the non-IOExceptions here and wrap them in an IOE.  
Ideally, there would be no non-IOEs, but if there are (because of a bug or 
runtime issue), we'd like to handle them.

> Make adding volume an atomic operation.
> ---------------------------------------
>
>                 Key: HDFS-7035
>                 URL: https://issues.apache.org/jira/browse/HDFS-7035
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>          Components: datanode
>    Affects Versions: 2.5.0
>            Reporter: Lei (Eddy) Xu
>            Assignee: Lei (Eddy) Xu
>         Attachments: HDFS-7035.000.combo.patch, HDFS-7035.000.patch, 
> HDFS-7035.001.combo.patch, HDFS-7035.001.patch, HDFS-7035.002.patch, 
> HDFS-7035.003.patch, HDFS-7035.003.patch, HDFS-7035.004.patch, 
> HDFS-7035.005.patch
>
>
> It refactors {{DataStorage}} and {{BlockPoolSliceStorage}} to reduce the 
> duplicate code and supports atomic adding volume operations. 



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

Reply via email to