[
https://issues.apache.org/jira/browse/HDFS-1505?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13034493#comment-13034493
]
Matt Foley commented on HDFS-1505:
----------------------------------
Hi Aaron, sorry to keep harping on this (and this was likely a typo), but the
test needs to be
{code}
+ if (storage.getNumStorageDirs(NameNodeDirType.IMAGE) == 0 ||
+ storage.getNumStorageDirs(NameNodeDirType.EDITS) == 0) {
+ throw new IOException("Failed to save at least one storage directory for
each of IMAGE and EDITS while saving namespace");
{code}
The current patch's test, (num(IMAGE) == 0 || num(IMAGE_AND_EDITS) == 0) could
fail false-positive, by not detecting a valid EDITS-only directory.
The TestSaveNamespace mod looks good.
Are you still going to address this one?
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().
Thanks.
BTW, after thinking about your comment, I think I will change doUpgrade() to
fail on any bad storage dir, the way it used to before HDFS-1826. I'll do that
under HDFS-1921 since I'm in FSImage anyway. Sound okay?
> 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-1-test.txt, hdfs-1505-22.0.patch,
> hdfs-1505-22.1.patch, hdfs-1505-test.txt, hdfs-1505-trunk.0.patch,
> hdfs-1505-trunk.1.patch, hdfs-1505-trunk.2.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