[ 
https://issues.apache.org/jira/browse/HDFS-9633?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

John Zhuge updated HDFS-9633:
-----------------------------
    Description: 
Add more behavior-based unit tests to verify and document SnapshotDiffReport 
API behaviors:
* DeleteRecreateSameName: Delete a file, then create a new file of the same
  name. Expect a DELETE and a CREATE entry instead of one MODIFY entry.
* CircularRenames: Rename file "a" to "tmp", rename "b" to "a", then rename
  "tmp" to "b". Expect RENAME(a->b) and RENAME(b->a) entry.

These unit tests will prevent any future NN change from accidentally breaking 
SnapshotDiffReport API.

Has anyone built incremental copy/migration tools based on command {{hdfs 
snapshotDiff}} or directly on the API?

  was:
SnapshotDiffReport design uses "file path" (instead of "inode ID + file path" 
as one example) to represent each diff entry. This can leads to some strange 
scenarios.

* DeleteRecreate: Delete a file, then create a new file of the same name.
* CircularRenames: Rename file "a" to "tmp", rename "b" to "a", then rename 
"tmp" to "b".

Add more unit tests to verify these corner cases.

        Summary: Add more SnapshotDiffReport unit tests  (was: Test 
SnapshotDiffReport file path corner cases)

> Add more SnapshotDiffReport unit tests
> --------------------------------------
>
>                 Key: HDFS-9633
>                 URL: https://issues.apache.org/jira/browse/HDFS-9633
>             Project: Hadoop HDFS
>          Issue Type: Test
>            Reporter: John Zhuge
>            Assignee: John Zhuge
>            Priority: Minor
>         Attachments: HDFS-9633-001.patch
>
>
> Add more behavior-based unit tests to verify and document SnapshotDiffReport 
> API behaviors:
> * DeleteRecreateSameName: Delete a file, then create a new file of the same
>   name. Expect a DELETE and a CREATE entry instead of one MODIFY entry.
> * CircularRenames: Rename file "a" to "tmp", rename "b" to "a", then rename
>   "tmp" to "b". Expect RENAME(a->b) and RENAME(b->a) entry.
> These unit tests will prevent any future NN change from accidentally breaking 
> SnapshotDiffReport API.
> Has anyone built incremental copy/migration tools based on command {{hdfs 
> snapshotDiff}} or directly on the API?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to