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