[ https://issues.apache.org/jira/browse/HDFS-1109?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12933539#action_12933539 ]
Suresh Srinivas commented on HDFS-1109: --------------------------------------- Goto namenode web UI -> Browse the filesystem -> click on a file link. The URL sends the file name as the URL param. However the change made in this patch (see below), looks for filename in URL path. {noformat} Index: src/java/org/apache/hadoop/hdfs/server/datanode/DatanodeJspHelper.java =================================================================== --- src/java/org/apache/hadoop/hdfs/server/datanode/DatanodeJspHelper.java (revision 938218) +++ src/java/org/apache/hadoop/hdfs/server/datanode/DatanodeJspHelper.java (working copy) @@ -236,7 +236,9 @@ else startOffset = Long.parseLong(startOffsetStr); - final String filename=JspHelper.validatePath(req.getParameter("filename")); + final String filename=JspHelper.validatePath( + req.getPathInfo() == null ? + "/" : req.getPathInfo()); {noformat} Why are we using URL path instead of "filename" param? > HFTP and URL Encoding > --------------------- > > Key: HDFS-1109 > URL: https://issues.apache.org/jira/browse/HDFS-1109 > Project: Hadoop HDFS > Issue Type: Bug > Components: contrib/hdfsproxy, data-node > Affects Versions: 0.20.1, 0.20.2, 0.20.3, 0.21.0, 0.22.0 > Reporter: Dmytro Molkov > Assignee: Dmytro Molkov > Fix For: 0.22.0 > > Attachments: HDFS-1109.2.patch, HDFS-1109.2_y0.20.1xx.patch, > HDFS-1109.2_y0.20.1xx_incremental.patch, HDFS-1109.patch > > > 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.