Details
Description
The following commands with percent (%) no longer work starting with version 3.1:
$ hadoop/bin/hdfs dfs -touchz webhdfs://localhost/% $ hadoop/bin/hdfs dfs -cat webhdfs://localhost/% cat: URLDecoder: Incomplete trailing escape (%) pattern
Also, plus (+ ) characters get turned into spaces when doing DN operations:
$ hadoop/bin/hdfs dfs -touchz webhdfs://localhost/a+b $ hadoop/bin/hdfs dfs -mkdir webhdfs://localhost/c+d $ hadoop/bin/hdfs dfs -ls / Found 4 items -rw-r--r-- 1 jing supergroup 0 2019-04-12 11:20 /a b drwxr-xr-x - jing supergroup 0 2019-04-12 11:21 /c+d
I can confirm that these commands work correctly on 2.9 and 3.0. Also, the usual hdfs:// client works as expected.
I suspect a relation with HDFS-13176 or HDFS-13582, but I'm not sure what the right fix is. Note that Hive uses % to escape special characters in partition values, so banning % might not be a good option. For example, Hive will create a paths like table_name/partition_key=%2F when partition_key='/'.
Attachments
Attachments
Issue Links
- is broken by
-
HDFS-13176 WebHdfs file path gets truncated when having semicolon (;) inside
- Resolved
- is duplicated by
-
HDFS-15228 Cannot rename file with space in name
- Resolved