Jing Zhao created HDFS-6551:
-------------------------------
Summary: Rename with OVERWRITE may throw NPE when the target
file/directory is a reference INode
Key: HDFS-6551
URL: https://issues.apache.org/jira/browse/HDFS-6551
Project: Hadoop HDFS
Issue Type: Bug
Reporter: Jing Zhao
Assignee: Jing Zhao
The following steps can reproduce the NPE:
1. create a snapshot on /
2. move /foo/file1 to /bar/
3. rename /foo/file2 to /bar/file1 with the OVERWRITE option
After step 2, /bar/file1 is a DstReference inode. In step 3,
FSDirectory#unprotectedRename first detaches the DstReference inode from the
WithCount inode, then it still calls the cleanSubtree method of the
corresponding INodeFile instance, which triggers the NPE. We should follow the
same logic in FSDirectory#unprotectedDelete which skips the cleanSubtree call
in this scenario.
--
This message was sent by Atlassian JIRA
(v6.2#6252)