[ 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