[ https://issues.apache.org/jira/browse/HADOOP-1647?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12516581 ]
Raghu Angadi commented on HADOOP-1647: -------------------------------------- +1. As Dhruba pointed on hadoop-dev, Enis' patch results in "//root/dir1/dir2" (extra '/'). > DistributedFileSystem.getFileStatus() fails for path "/" > -------------------------------------------------------- > > Key: HADOOP-1647 > URL: https://issues.apache.org/jira/browse/HADOOP-1647 > Project: Hadoop > Issue Type: Bug > Components: dfs > Affects Versions: 0.14.0, 0.15.0 > Reporter: Enis Soztutar > Assignee: dhruba borthakur > Priority: Blocker > Fix For: 0.14.0, 0.15.0 > > Attachments: fileStatus.patch, getFileStatusJavadoc.patch > > > DistributedFileSystem#getFileStatus throws the following exception when > invoked with new Path("/"). LocalFileSystem does not. The code to produce > this error is > {code} > public static void main(String[] args) throws Exception{ > Configuration conf = new Configuration(); > FileSystem fs = FileSystem.get(conf); > Path path = new Path("/"); > System.out.println("Path : \"" + path.toString() + "\""); > System.out.println(fs.isDirectory(path)); > System.out.println(fs.getFileStatus(path).isDir()); > } > {code} > for Local configuration the code prints : > {code} > Path : "/" > true > true > {code} > For a new formatted dfs with only one file /user/enis/file.txt, Path could > not be created. > {code} > Path : "/" > false > Exception in thread "main" org.apache.hadoop.ipc.RemoteException: > java.io.IOException: java.lang.IllegalArgumentException: Can not create a > Path from an empty string > at org.apache.hadoop.fs.Path.checkPathArg(Path.java:82) > at org.apache.hadoop.fs.Path.<init>(Path.java:90) > at org.apache.hadoop.dfs.DFSFileInfo.<init>(DFSFileInfo.java:59) > at org.apache.hadoop.dfs.FSDirectory.getFileInfo(FSDirectory.java:729) > at > org.apache.hadoop.dfs.FSNamesystem.getFileInfo(FSNamesystem.java:1301) > at org.apache.hadoop.dfs.NameNode.getFileInfo(NameNode.java:488) > at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:585) > at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:340) > at org.apache.hadoop.ipc.Server$Handler.run(Server.java:566) > at org.apache.hadoop.ipc.Client.call(Client.java:470) > at org.apache.hadoop.ipc.RPC$Invoker.invoke(RPC.java:165) > at org.apache.hadoop.dfs.$Proxy0.getFileInfo(Unknown Source) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:585) > at > org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:82) > at > org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:59) > at org.apache.hadoop.dfs.$Proxy0.getFileInfo(Unknown Source) > at org.apache.hadoop.dfs.DFSClient.getFileInfo(DFSClient.java:430) > at > org.apache.hadoop.dfs.DistributedFileSystem.getFileStatus(DistributedFileSystem.java:319) > at org.apache.hadoop.util.TestIsDir.main(TestIsDir.java:38) > {code} -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.