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

Joe Pallas commented on HDFS-7722:
----------------------------------

Sure, [~eddyxu].  HDFS-5194 is about improving support for alternative storage 
implementations.  Assuming that volumes always correspond to directories in the 
local file system limits the ability to implement other storage architectures, 
such as a directly attached object store or perhaps a block-level device with a 
lightweight user-level "file system" layer optimized for storing block replicas.

The {{FsDatasetSpi}} interface tries to abstract out the essentials of storing 
replicas, and {{FsVolumeSpi}} is an abstract unit of storage used by the 
dataset to represent some subset of all the available storage (typically a 
single drive in the default implementation).  Advertising that volumes are 
directories doesn't just limit alternative implementations, it also makes it 
harder to evolve the default implementation, because the scope of changes is 
harder to determine once implementation details leak through the abstraction.

That's my perspective.  Maintaining these abstractions takes some some work, 
but it has benefits for readability/maintainability of the default 
implementation as well as for alternative implementations.

> DataNode#checkDiskError should also remove Storage when error is found.
> -----------------------------------------------------------------------
>
>                 Key: HDFS-7722
>                 URL: https://issues.apache.org/jira/browse/HDFS-7722
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: datanode
>    Affects Versions: 2.6.0
>            Reporter: Lei (Eddy) Xu
>            Assignee: Lei (Eddy) Xu
>             Fix For: 2.7.0
>
>         Attachments: HDFS-7722.000.patch, HDFS-7722.001.patch, 
> HDFS-7722.002.patch, HDFS-7722.003.patch, HDFS-7722.004.patch
>
>
> When {{DataNode#checkDiskError}} found disk errors, it removes all block 
> metadatas from {{FsDatasetImpl}}. However, it does not removed the 
> corresponding {{DataStorage}} and {{BlockPoolSliceStorage}}. 
> The result is that, we could not directly run {{reconfig}} to hot swap the 
> failure disks without changing the configure file.



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

Reply via email to