[
https://issues.apache.org/jira/browse/HDFS-1505?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13032641#comment-13032641
]
Aaron T. Myers commented on HDFS-1505:
--------------------------------------
Thanks a lot for the review/comments, Matt.
Upon further reflection, I think the desired check should actually be:
{code}
if ((storage.getNumStorageDirs(NameNodeDirType.IMAGE) == 0 ||
storage.getNumStorageDirs(NameNodeDirType.EDITS) == 0) &&
storage.getNumStorageDirs(NameNodeDirType.IMAGE_AND_EDITS) == 0) {
throw new IOException("Failed to save any storage directories while
saving namespace");
{code}
What do you think? Note that IMAGE_AND_EDITS is a distinct type of storage
directory, which contains both {{fsimage}} and {{edits}} files. Apologies if
you already knew that.
bq. Also, since HDFS-1826 copied the concurrent saveNamespace() logic into
FSImage.doUpgrade(), would you please add the same code fragment to the end of
doUpgrade(), and a corresponding corruption unit test case to TestDFSUpgrade?
Thanks.
Will do.
bq. I would suggest fixing the lack of notification in FSEditLog.open(), but
also in your patch to saveNamespace() the check for empty IMAGE and EDITS lists
should precede the call to editLog.open().
Agreed. Will do.
> saveNamespace appears to succeed even if all directories fail to save
> ---------------------------------------------------------------------
>
> Key: HDFS-1505
> URL: https://issues.apache.org/jira/browse/HDFS-1505
> Project: Hadoop HDFS
> Issue Type: Bug
> Affects Versions: 0.22.0, 0.23.0
> Reporter: Todd Lipcon
> Assignee: Aaron T. Myers
> Priority: Blocker
> Fix For: 0.22.0
>
> Attachments: hdfs-1505-22.0.patch, hdfs-1505-22.1.patch,
> hdfs-1505-test.txt, hdfs-1505-trunk.0.patch, hdfs-1505-trunk.1.patch
>
>
> After HDFS-1071, saveNamespace now appears to "succeed" even if all of the
> individual directories failed to save.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira