[ 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.