Просмотр исходного кода

HDFS-7953. NN Web UI fails to navigate to paths that contain #. Contributed by kanaka kumar avvaru.

Haohui Mai 10 лет назад
Родитель
Сommit
402817cd9b

+ 3 - 0
hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt

@@ -1172,6 +1172,9 @@ Release 2.7.0 - UNRELEASED
     HDFS-7946. TestDataNodeVolumeFailureReporting NPE on Windows. (Xiaoyu Yao
     HDFS-7946. TestDataNodeVolumeFailureReporting NPE on Windows. (Xiaoyu Yao
     via Arpit Agarwal)
     via Arpit Agarwal)
 
 
+    HDFS-7953. NN Web UI fails to navigate to paths that contain #.
+    (kanaka kumar avvaru via wheat9)
+
     BREAKDOWN OF HDFS-7584 SUBTASKS AND RELATED JIRAS
     BREAKDOWN OF HDFS-7584 SUBTASKS AND RELATED JIRAS
 
 
       HDFS-7720. Quota by Storage Type API, tools and ClientNameNode
       HDFS-7720. Quota by Storage Type API, tools and ClientNameNode

+ 7 - 7
hadoop-hdfs-project/hadoop-hdfs/src/main/webapps/hdfs/explorer.js

@@ -78,6 +78,12 @@
     return data.RemoteException !== undefined ? data.RemoteException.message : "";
     return data.RemoteException !== undefined ? data.RemoteException.message : "";
   }
   }
 
 
+  function encode_path(abs_path) {
+    abs_path = encodeURIComponent(abs_path);
+    var re = /%2F/g;
+    return abs_path.replace(re, '/');
+  }
+
   function view_file_details(path, abs_path) {
   function view_file_details(path, abs_path) {
     function show_block_info(blocks) {
     function show_block_info(blocks) {
       var menus = $('#file-info-blockinfo-list');
       var menus = $('#file-info-blockinfo-list');
@@ -102,12 +108,6 @@
       menus.change();
       menus.change();
     }
     }
 
 
-    function encode_path(abs_path) {
-      abs_path = encodeURIComponent(abs_path);
-      var re = /%2F/g;
-      return abs_path.replace(re, '/');
-    }
-
     abs_path = encode_path(abs_path);
     abs_path = encode_path(abs_path);
     var url = '/webhdfs/v1' + abs_path + '?op=GET_BLOCK_LOCATIONS';
     var url = '/webhdfs/v1' + abs_path + '?op=GET_BLOCK_LOCATIONS';
     $.get(url).done(function(data) {
     $.get(url).done(function(data) {
@@ -149,7 +149,7 @@
         return chunk.write('' + new Date(Number(value)).toLocaleString());
         return chunk.write('' + new Date(Number(value)).toLocaleString());
       }
       }
     };
     };
-    var url = '/webhdfs/v1' + dir + '?op=LISTSTATUS';
+    var url = '/webhdfs/v1' + encode_path(dir) + '?op=LISTSTATUS';
     $.get(url, function(data) {
     $.get(url, function(data) {
       var d = get_response(data, "FileStatuses");
       var d = get_response(data, "FileStatuses");
       if (d === null) {
       if (d === null) {