[
https://issues.apache.org/jira/browse/HDFS-1109?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12860990#action_12860990
]
Dmytro Molkov commented on HDFS-1109:
-------------------------------------
This url request is being generated in the namenode as a redirect for client.
Client first contacts the namenode with a path to read, and this path is not
url decoded when namenode performs its operations (I was getting exceptions
with file not existing when encoding + by hand), then the client is forwarded
to a datanode with a new url where the path is passed as a parameter and it is
not decoded either, so it is either way namenode + datanode servlets
modification.
> HFTP and URL Encoding
> ---------------------
>
> Key: HDFS-1109
> URL: https://issues.apache.org/jira/browse/HDFS-1109
> Project: Hadoop HDFS
> Issue Type: Bug
> Affects Versions: 0.20.1, 0.20.2, 0.20.3, 0.21.0, 0.22.0
> Reporter: Dmytro Molkov
> Assignee: Dmytro Molkov
>
> 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?
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.