HDFS-13190. Document WebHDFS support for snapshot diff Signed-off-by: Akira Ajisaka <aajis...@apache.org> Signed-off-by: Xiaoyu Yao <x...@apache.org>
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/7b0dc310 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/7b0dc310 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/7b0dc310 Branch: refs/heads/HDFS-7240 Commit: 7b0dc310208ee5bc191c9accb3d1312513145653 Parents: 9a082fb Author: Lokesh Jain <lj...@hortonworks.com> Authored: Fri Mar 9 15:04:14 2018 -0800 Committer: Akira Ajisaka <aajis...@apache.org> Committed: Fri Mar 9 15:06:15 2018 -0800 ---------------------------------------------------------------------- .../hadoop-hdfs/src/site/markdown/WebHDFS.md | 92 ++++++++++++++++++++ 1 file changed, 92 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/7b0dc310/hadoop-hdfs-project/hadoop-hdfs/src/site/markdown/WebHDFS.md ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/site/markdown/WebHDFS.md b/hadoop-hdfs-project/hadoop-hdfs/src/site/markdown/WebHDFS.md index 4a1395e..057ca59 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/site/markdown/WebHDFS.md +++ b/hadoop-hdfs-project/hadoop-hdfs/src/site/markdown/WebHDFS.md @@ -50,6 +50,7 @@ The HTTP REST API supports the complete [FileSystem](../../api/org/apache/hadoop * [`CHECKACCESS`](#Check_access) (see [FileSystem](../../api/org/apache/hadoop/fs/FileSystem.html).access) * [`GETALLSTORAGEPOLICY`](#Get_all_Storage_Policies) (see [FileSystem](../../api/org/apache/hadoop/fs/FileSystem.html).getAllStoragePolicies) * [`GETSTORAGEPOLICY`](#Get_Storage_Policy) (see [FileSystem](../../api/org/apache/hadoop/fs/FileSystem.html).getStoragePolicy) + * [`GETSNAPSHOTDIFF`](#Get_Snapshot_Diff) * HTTP PUT * [`CREATE`](#Create_and_Write_to_a_File) (see [FileSystem](../../api/org/apache/hadoop/fs/FileSystem.html).create) * [`MKDIRS`](#Make_a_Directory) (see [FileSystem](../../api/org/apache/hadoop/fs/FileSystem.html).mkdirs) @@ -1266,6 +1267,21 @@ See also: [FileSystem](../../api/org/apache/hadoop/fs/FileSystem.html).deleteSna See also: [FileSystem](../../api/org/apache/hadoop/fs/FileSystem.html).renameSnapshot +### Get Snapshot Diff + +* Submit a HTTP GET request. + + curl -i GET "http://<HOST>:<PORT>/webhdfs/v1/<PATH>?op=GETSNAPSHOTDIFF + &oldsnapshotname=<SNAPSHOTNAME>&snapshotname=<SNAPSHOTNAME>" + + The client receives a response with a [`SnapshotDiffReport` JSON object](#SnapshotDiffReport_JSON_Schema): + + HTTP/1.1 200 OK + Content-Type: application/json + Transfer-Encoding: chunked + + {"SnapshotDiffReport":{"diffList":[],"fromSnapshot":"s3","snapshotRoot":"/foo","toSnapshot":"s4"}} + Delegation Token Operations --------------------------- @@ -2043,6 +2059,82 @@ A `BlockStoragePolicies` JSON object represents an array of `BlockStoragePolicy` } ``` +### SnapshotDiffReport JSON Schema + +```json +{ + "name": "SnapshotDiffReport", + "type": "object", + "properties": + { + "SnapshotDiffReport": + { + "type" : "object", + "properties" : + { + "diffList": + { + "description": "An array of DiffReportEntry", + "type" : "array", + "items" : diffReportEntries, + "required" : true + }, + "fromSnapshot": + { + "description": "Source snapshot", + "type" : "string", + "required" : true + }, + "snapshotRoot": + { + "description" : "String representation of snapshot root path", + "type" : "string", + "required" : true + }, + "toSnapshot": + { + "description" : "Destination snapshot", + "type" : "string", + "required" : true + } + } + } + } +} +``` + +#### DiffReport Entries + +JavaScript syntax is used to define `diffReportEntries` so that it can be referred in `SnapshotDiffReport` JSON schema. + +```javascript +var diffReportEntries = +{ + "type": "object", + "properties": + { + "sourcePath": + { + "description" : "Source path name relative to snapshot root", + "type" : "string", + "required" : true + }, + "targetPath": + { + "description" : "Target path relative to snapshot root used for renames", + "type" : "string", + "required" : true + }, + "type": + { + "description" : "Type of diff report entry", + "enum" : ["CREATE", "MODIFY", "DELETE", "RENAME"], + "required" : true + } + } +} +``` + HTTP Query Parameter Dictionary ------------------------------- --------------------------------------------------------------------- To unsubscribe, e-mail: common-commits-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-commits-h...@hadoop.apache.org