[
https://issues.apache.org/jira/browse/HDFS-4943?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jerry He updated HDFS-4943:
---------------------------
Attachment: HDFS-4943-trunk-v2.patch
> WebHdfsFileSystem does not work when original file path has encoded chars
> --------------------------------------------------------------------------
>
> Key: HDFS-4943
> URL: https://issues.apache.org/jira/browse/HDFS-4943
> Project: Hadoop HDFS
> Issue Type: Bug
> Components: webhdfs
> Affects Versions: 1.2.0, 1.1.2, 2.0.4-alpha
> Reporter: Jerry He
> Priority: Minor
> Fix For: 2.1.0-beta
>
> Attachments: HDFS-4943-trunk.patch, HDFS-4943-trunk-v2.patch
>
>
> In HBase, the WAL (hlog) file name on hdfs is URL encoded. For example,
> hdtest010%2C60020%2C1371000602151.1371058984668
> When we use webhdfs client to access the hlog file via httpfs, it does not
> work in this case.
> $ hadoop fs -ls hdfs:///user/biadmin/hbase_hlogs
>
> Found 1 items
> -rw-r--r-- 3 biadmin supergroup 15049470 2013-06-12 10:45
> /user/biadmin/hbase_hlogs/hdtest010%2C60020%2C1371000602151.1371058984668
> $ hadoop fs -ls
> hdfs:///user/biadmin/hbase_hlogs/hdtest010%2C60020%2C1371000602151.1371058984668
> Found 1 items
> -rw-r--r-- 3 biadmin supergroup 15049470 2013-06-12 10:45
> /user/biadmin/hbase_hlogs/hdtest010%2C60020%2C1371000602151.1371058984668
> $ hadoop fs -ls webhdfs://hdtest010:14000/user/biadmin/hbase_hlogs
> Found 1 items
> -rw-r--r-- 3 biadmin supergroup 15049470 2013-06-12 10:45
> /user/biadmin/hbase_hlogs/hdtest010%2C60020%2C1371000602151.1371058984668
> $
> $ hadoop fs -ls
> webhdfs://hdtest010:14000/user/biadmin/hbase_hlogs/hdtest010%2C60020%2C1371000602151.1371058984668
> 13/06/27 18:36:08 DEBUG web.WebHdfsFileSystem: Original exception is
> org.apache.hadoop.ipc.RemoteException:java.io.FileNotFoundException:File does
> not exist:
> /user/biadmin/hbase_hlogs/hdtest010,60020,1371000602151.1371058984668
> at
> org.apache.hadoop.hdfs.web.JsonUtil.toRemoteException(JsonUtil.java:114)
> at
> org.apache.hadoop.hdfs.web.WebHdfsFileSystem.validateResponse(WebHdfsFileSystem.java:299)
> at
> org.apache.hadoop.hdfs.web.WebHdfsFileSystem.access$500(WebHdfsFileSystem.java:104)
> at
> org.apache.hadoop.hdfs.web.WebHdfsFileSystem$Runner.getResponse(WebHdfsFileSystem.java:641)
> at
> org.apache.hadoop.hdfs.web.WebHdfsFileSystem$Runner.run(WebHdfsFileSystem.java:538)
> at
> org.apache.hadoop.hdfs.web.WebHdfsFileSystem.run(WebHdfsFileSystem.java:468)
> at
> org.apache.hadoop.hdfs.web.WebHdfsFileSystem.getHdfsFileStatus(WebHdfsFileSystem.java:662)
> at
> org.apache.hadoop.hdfs.web.WebHdfsFileSystem.getFileStatus(WebHdfsFileSystem.java:673)
> at org.apache.hadoop.fs.FileSystem.getFileStatus(FileSystem.java:1365)
> at
> org.apache.hadoop.fs.FileSystem.globStatusInternal(FileSystem.java:1048)
> at org.apache.hadoop.fs.FileSystem.globStatus(FileSystem.java:987)
> at org.apache.hadoop.fs.FileSystem.globStatus(FileSystem.java:965)
> at org.apache.hadoop.fs.FsShell.ls(FsShell.java:573)
> at org.apache.hadoop.fs.FsShell.doall(FsShell.java:1571)
> at org.apache.hadoop.fs.FsShell.run(FsShell.java:1789)
> at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)
> at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:79)
> at org.apache.hadoop.fs.FsShell.main(FsShell.java:1895)
> ls: Cannot access
> webhdfs://hdtest010:14000/user/biadmin/hbase_hlogs/hdtest010%2C60020%2C1371000602151.1371058984668:
> No such file or directory.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira