From d33d12f01211f9867a8a449ff4a4d51b88486762 Mon Sep 17 00:00:00 2001 From: Viraj Jasani Date: Wed, 5 May 2021 18:05:30 +0530 Subject: [PATCH] HDFS-15982. WebHdfs REST API to consider default value of skiptrash true (ADDENDUM) --- .../web/resources/DeleteSkipTrashParam.java | 2 +- .../http/server/HttpFSParametersProvider.java | 2 +- .../fs/http/server/TestHttpFSServer.java | 2 +- .../src/main/webapps/router/explorer.html | 25 ++----------- .../src/main/webapps/router/explorer.js | 35 ++++--------------- .../src/main/webapps/hdfs/explorer.js | 10 +++--- .../hadoop-hdfs/src/site/markdown/WebHDFS.md | 2 +- 7 files changed, 17 insertions(+), 61 deletions(-) diff --git a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/web/resources/DeleteSkipTrashParam.java b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/web/resources/DeleteSkipTrashParam.java index 5ca9d69d7c870..5e972d74708db 100644 --- a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/web/resources/DeleteSkipTrashParam.java +++ b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/web/resources/DeleteSkipTrashParam.java @@ -23,7 +23,7 @@ public class DeleteSkipTrashParam extends BooleanParam { public static final String NAME = "skiptrash"; - public static final String DEFAULT = FALSE; + public static final String DEFAULT = TRUE; private static final Domain DOMAIN = new Domain(NAME); diff --git a/hadoop-hdfs-project/hadoop-hdfs-httpfs/src/main/java/org/apache/hadoop/fs/http/server/HttpFSParametersProvider.java b/hadoop-hdfs-project/hadoop-hdfs-httpfs/src/main/java/org/apache/hadoop/fs/http/server/HttpFSParametersProvider.java index b810ec6690372..048b7ae4c98b8 100644 --- a/hadoop-hdfs-project/hadoop-hdfs-httpfs/src/main/java/org/apache/hadoop/fs/http/server/HttpFSParametersProvider.java +++ b/hadoop-hdfs-project/hadoop-hdfs-httpfs/src/main/java/org/apache/hadoop/fs/http/server/HttpFSParametersProvider.java @@ -258,7 +258,7 @@ public static class DeleteSkipTrashParam extends BooleanParam { * Constructor. */ public DeleteSkipTrashParam() { - super(NAME, false); + super(NAME, true); } } diff --git a/hadoop-hdfs-project/hadoop-hdfs-httpfs/src/test/java/org/apache/hadoop/fs/http/server/TestHttpFSServer.java b/hadoop-hdfs-project/hadoop-hdfs-httpfs/src/test/java/org/apache/hadoop/fs/http/server/TestHttpFSServer.java index cddf95e22129f..f23e228ac64c8 100644 --- a/hadoop-hdfs-project/hadoop-hdfs-httpfs/src/test/java/org/apache/hadoop/fs/http/server/TestHttpFSServer.java +++ b/hadoop-hdfs-project/hadoop-hdfs-httpfs/src/test/java/org/apache/hadoop/fs/http/server/TestHttpFSServer.java @@ -841,7 +841,7 @@ public void testCreateDelete() throws Exception { fs.mkdirs(new Path(dir2)); createWithHttp(path2, null); - deleteWithHttp(path2, null, null, true); + deleteWithHttp(path2, null, null, false); } /** diff --git a/hadoop-hdfs-project/hadoop-hdfs-rbf/src/main/webapps/router/explorer.html b/hadoop-hdfs-project/hadoop-hdfs-rbf/src/main/webapps/router/explorer.html index 3150d87bdce62..b2810deb881b8 100644 --- a/hadoop-hdfs-project/hadoop-hdfs-rbf/src/main/webapps/router/explorer.html +++ b/hadoop-hdfs-project/hadoop-hdfs-rbf/src/main/webapps/router/explorer.html @@ -165,33 +165,12 @@ - - +
diff --git a/hadoop-hdfs-project/hadoop-hdfs-rbf/src/main/webapps/router/explorer.js b/hadoop-hdfs-project/hadoop-hdfs-rbf/src/main/webapps/router/explorer.js index 0895eb967a6f2..8d8bfe22d88f2 100644 --- a/hadoop-hdfs-project/hadoop-hdfs-rbf/src/main/webapps/router/explorer.js +++ b/hadoop-hdfs-project/hadoop-hdfs-rbf/src/main/webapps/router/explorer.js @@ -83,46 +83,23 @@ $('#delete-modal-title').text("Delete - " + inode_name); $('#delete-prompt').text("Are you sure you want to delete " + inode_name + " ?"); - $('#delete-trash-modal-title').text("Skip Trash - " + inode_name); - $('#delete-trash-prompt').text("Skipping Trash might delete file forever." - + " Do you want to skip-trash " + inode_name - + " ? (default behaviour - No)"); + // Delete Trash modal similar to hdfs/explorer.js is absent - $('#skip-trash-button').click(function () { - // DELETE /webhdfs/v1/?op=DELETE&recursive=&skiptrash=true - var url = '/webhdfs/v1' + encode_path(absolute_file_path) + - '?op=DELETE' + '&recursive=true&skiptrash=true'; - $.ajax(url, - { - type: 'DELETE' - }).done(function (data) { - browse_directory(current_directory); - }).fail(network_error_handler(url) - ).always(function () { - $('#delete-modal').modal('hide'); - $('#delete-button').button('reset'); - $('#delete-trash-modal').modal('hide'); - $('#skip-trash-button').button('reset'); - }); - }) - $('#trash-button').click(function () { + $('#delete-button').click(function() { // DELETE /webhdfs/v1/?op=DELETE&recursive= var url = '/webhdfs/v1' + encode_path(absolute_file_path) + '?op=DELETE' + '&recursive=true'; + $.ajax(url, - { - type: 'DELETE' - }).done(function (data) { + { type: 'DELETE' + }).done(function(data) { browse_directory(current_directory); }).fail(network_error_handler(url) - ).always(function () { + ).always(function() { $('#delete-modal').modal('hide'); $('#delete-button').button('reset'); - $('#delete-trash-modal').modal('hide'); - $('#trash-button').button('reset'); }); }) - $('#delete-modal').modal(); } diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/webapps/hdfs/explorer.js b/hadoop-hdfs-project/hadoop-hdfs/src/main/webapps/hdfs/explorer.js index d9371bb9288e8..9a27e0650896e 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/webapps/hdfs/explorer.js +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/webapps/hdfs/explorer.js @@ -86,12 +86,12 @@ $('#delete-trash-modal-title').text("Skip Trash - " + inode_name); $('#delete-trash-prompt').text("Skipping Trash might delete file forever." + " Do you want to skip-trash " + inode_name - + " ? (default behaviour - No)"); + + " ? Note: File can be moved to Trash only if trash interval is configured."); $('#skip-trash-button').click(function () { - // DELETE /webhdfs/v1/?op=DELETE&recursive=&skiptrash=true + // DELETE /webhdfs/v1/?op=DELETE&recursive= var url = '/webhdfs/v1' + encode_path(absolute_file_path) + - '?op=DELETE' + '&recursive=true&skiptrash=true'; + '?op=DELETE' + '&recursive=true'; $.ajax(url, { type: 'DELETE' @@ -106,9 +106,9 @@ }); }) $('#trash-button').click(function () { - // DELETE /webhdfs/v1/?op=DELETE&recursive= + // DELETE /webhdfs/v1/?op=DELETE&recursive=&skiptrash= var url = '/webhdfs/v1' + encode_path(absolute_file_path) + - '?op=DELETE' + '&recursive=true'; + '?op=DELETE' + '&recursive=true&skiptrash=false'; $.ajax(url, { type: 'DELETE' 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 07891ae64b3e5..8002e860acfaa 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/site/markdown/WebHDFS.md +++ b/hadoop-hdfs-project/hadoop-hdfs/src/site/markdown/WebHDFS.md @@ -466,7 +466,7 @@ See also: [`destination`](#Destination), [FileSystem](../../api/org/apache/hadoo Default values of queryparams if not provided: 1. recursive: false - 2. skiptrash: false + 2. skiptrash: true The client receives a response with a [`boolean` JSON object](#Boolean_JSON_Schema):