[
https://issues.apache.org/jira/browse/HDFS-4557?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jing Zhao updated HDFS-4557:
----------------------------
Description: Currently INode#cleanSubtree is used to delete
files/directories and collect corresponding blocks for future deletion. Its
return value can be 0 even if file/dir has been deleted because we save
snapshot copies. This breaks the original logic in FSDirectory#delete since
FSDirectory#delete expects a positive value from a successful deletion. (was:
Currently INode#cleanSubtree is used to delete files/directories and collect
corresponding blocks for future deletion. Its return value can be 0 even if
file/dir has been deleted because we save snapshot copies. This breaks the
original logic in FSDirectory#delete since FSDirectory#delete expects a
positive value from a successful deletion. This bug may cause some bad scenario
such as a lease remains in NN while the file has been moved to snapshot.)
> Fix FSDirectory#delete when INode#cleanSubtree returns 0
> --------------------------------------------------------
>
> Key: HDFS-4557
> URL: https://issues.apache.org/jira/browse/HDFS-4557
> Project: Hadoop HDFS
> Issue Type: Sub-task
> Components: datanode, namenode
> Reporter: Jing Zhao
> Assignee: Jing Zhao
> Attachments: HDFS-4557.000.patch
>
>
> Currently INode#cleanSubtree is used to delete files/directories and collect
> corresponding blocks for future deletion. Its return value can be 0 even if
> file/dir has been deleted because we save snapshot copies. This breaks the
> original logic in FSDirectory#delete since FSDirectory#delete expects a
> positive value from a successful deletion.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira