Jing Zhao created HDFS-4842:
-------------------------------

             Summary: Snapshot: identify the correct prior snapshot when 
deleting a snapshot under a renamed subtree
                 Key: HDFS-4842
                 URL: https://issues.apache.org/jira/browse/HDFS-4842
             Project: Hadoop HDFS
          Issue Type: Bug
    Affects Versions: 3.0.0
            Reporter: Jing Zhao
            Assignee: Jing Zhao


In our long-term running tests for snapshot we find the following bug:

1. initially we have directories /test, /test/dir1 and /test/dir2/foo. 
2. first take snapshot s0 and s1 on /test.
3. modify some descendant of foo (e.g., delete foo/bar/file), to make sure some 
changes have been recorded to the snapshot diff associated with s1.
4. take snapshot s2 on /test/dir2
5. move foo from dir2 to dir1, i.e., rename /test/dir2/foo to /test/dir1/foo
6. delete snapshot s1

After step 6, the snapshot copy of foo/bar/file should have been merged from s1 
to s0 (i.e., s0 should be identified as the prior snapshot of s1). However, the 
current code failed to identify the correct prior snapshot in the source tree 
of the rename operation and wrongly used s2 as the prior snapshot.

The bug only exists when nested snapshottable directories are enabled. To fix 
the bug, we need to go upwards in the source tree of the rename operation 
(i.e., dir2) to identify the correct prior snapshot in the above scenario. This 
jira will fix the bug and add several corresponding unit tests. 

--
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

Reply via email to