Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
0.20.1, 0.20.2, 0.20.3, 0.21.0, 0.22.0
-
None
-
Incompatible change, Reviewed
Description
We just saw this error happen in our cluster. If there is a file that has a "+" sign in the name it is not readable through HFTP protocol.
The problem is when we are reading a file with HFTP we are passing a name of the file as a parameter in request and + gets undecoded into space on the server side. So the datanode receiving the streamFile request tries to access a file with space instead of + in the name and doesn't find that file.
The proposed solution is to pass the filename as a part of URL as with all the other HFTP commands, since this is the only place where it is not being treated this way. Are there any objections to this?
Attachments
Attachments
Issue Links
- blocks
-
HDFS-1575 viewing block from web UI broken
- Closed
- breaks
-
HDFS-1575 viewing block from web UI broken
- Closed
- is related to
-
HDFS-31 Hadoop distcp tool fails if file path contains special characters + & !
- Resolved
-
HDFS-1317 HDFSProxy needs additional changes to work after changes to streamFile servlet in HDFS-1109
- Closed
-
HDFS-2235 Encode servlet paths
- Closed
-
HADOOP-7527 Make URL encoding consistent
- Open
-
HDFS-2233 Add WebUI tests with URI reserved chars in the path and filename
- Closed
- relates to
-
MAPREDUCE-2052 Fix URL encoding of job history logfiles
- Open
-
HDFS-2236 DfsServlet and FileChecksumServlets still use the filename parameter
- Open
-
MAPREDUCE-1378 Args in job details links on jobhistory.jsp are not URL encoded
- Closed