[
https://issues.apache.org/jira/browse/HDFS-7035?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14131845#comment-14131845
]
Lei (Eddy) Xu commented on HDFS-7035:
-------------------------------------
Hi, [~arpitagarwal] Thanks very much for looking into this.
This patch serves three purposes:
# For the volume management functionality, it refactors the loading storage
directories, so that if there is a failure during the loading _a storage
directory_, the partial loaded metadata belonging to this storage directory is
completed removed from {{DataStorage}} and {{BlockStorage}}, all partial
loaded directories are unlocked, and etc. It is basically for more gracefully
to handle the failures of loading volumes when {{DataNode}} is running.
# It eliminates the duplicated logic in {{DataStorage}} and
{{BlockSlicePoolStorage}} to simplify the failure recovery logic needed to be
handle from {{DataNode}}.
# Also it changes the order to add storage directories. In the original code,
all storage directories for one namespace is loading in batch. This behavior is
changed to add one storage directory for one namespace at a time, also for
easier failure handling for upper level (e.g., HDFS-6727) in the hot swap
volume scenarios.
[~arpitagarwal] do the above answer your questions? It would be great to if you
could give me some suggestions on this.
> Refactor DataStorage and BlockSlicePoolStorage
> -----------------------------------------------
>
> 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
>
>
> {{DataStorage}} and {{BlockPoolSliceStorage}} share many similar code path.
> This jira extracts the common part of these two classes to simplify the logic
> for both.
> This is the ground work for handling partial failures during hot swapping
> volumes.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)