hadoop-hdfs-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jing Zhao (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HDFS-6651) Deletion failure can leak inodes permanently.
Date Tue, 03 Feb 2015 00:25:35 GMT

    [ https://issues.apache.org/jira/browse/HDFS-6651?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14302540#comment-14302540

Jing Zhao commented on HDFS-6651:

The current patch takes the #5 solution. This simplifies the quota calculation and avoids
the inode leaking while deletion. Since the current snapshot solution takes COW semantic,
the diffs may not contribute a lot to the NS quota usage and NN memory usage. Thus I think
the incompatibility here may not be an issue.

> Deletion failure can leak inodes permanently.
> ---------------------------------------------
>                 Key: HDFS-6651
>                 URL: https://issues.apache.org/jira/browse/HDFS-6651
>             Project: Hadoop HDFS
>          Issue Type: Bug
>            Reporter: Kihwal Lee
>            Assignee: Jing Zhao
>            Priority: Critical
>         Attachments: HDFS-6651.000.patch, HDFS-6651.001.patch, HDFS-6651.002.patch
> As discussed in HDFS-6618, if a deletion of tree fails in the middle, any collected inodes
and blocks will not be removed from {{INodeMap}} and {{BlocksMap}}. 
> Since fsimage is saved by iterating over {{INodeMap}}, the leak will persist across name
node restart. Although blanked out inodes will not have reference to blocks, blocks will still
refer to the inode as {{BlockCollection}}. As long as it is not null, blocks will live on.
The leaked blocks from blanked out inodes will go away after restart.
> Options (when delete fails in the middle)
> - Complete the partial delete: edit log the partial delete and remove inodes and blocks.

> - Somehow undo the partial delete.
> - Check quota for snapshot diff beforehand for the whole subtree.
> - Ignore quota check during delete even if snapshot is present.

This message was sent by Atlassian JIRA

View raw message