[
https://issues.apache.org/jira/browse/HDFS-5709?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13874247#comment-13874247
]
Jing Zhao commented on HDFS-5709:
---------------------------------
The patch looks good to me. Some comments:
# In FSEditLogLoader, we also need to handle "OP_ADD_BLOCK" after HDFS-5704 got
committed recently.
# It will be better to let renameReservedPathsOnUpgrade and
renameReservedComponentOnUpgrade take a string as the third parameter instead
of an instance of FSNamesystem. We may also want to pass in the to-be-replaced
string as a parameter, and in that case, we can make these two methods act as
more generic utility methods so that it can be used for other reserved names
(e.g., "/.reserved/.inodes", which we may want to handle in a separate jira).
# Then we can have another two methods in FSImageFormat/FSEditLogLoader to call
the util methods, where we can check layoutversion and new names.
# When checking the new name, I think we should follow the rules in
DFSUtil#isValidName?
# In renameReservedComponentOnUpgrade, maybe we do not need to convert the
byte[] to string for the comparison? We have DOT_SNAPSHOT_DIR_BYTES defined in
HdfsConstants already.
# There is an unused import in FSImageFormat.
> Improve upgrade with existing files and directories named ".snapshot"
> ---------------------------------------------------------------------
>
> Key: HDFS-5709
> URL: https://issues.apache.org/jira/browse/HDFS-5709
> Project: Hadoop HDFS
> Issue Type: Improvement
> Components: namenode
> Affects Versions: 3.0.0, 2.2.0
> Reporter: Andrew Wang
> Assignee: Andrew Wang
> Labels: snapshots, upgrade
> Attachments: hdfs-5709-1.patch, hdfs-5709-2.patch
>
>
> Right now in trunk, upgrade fails messily if the old fsimage or edits refer
> to a directory named ".snapshot". We should at least print a better error
> message (which I believe was the original intention in HDFS-4666), and [~atm]
> proposed automatically renaming these files and directories.
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)