Stephen Chu created HDFS-5513: --------------------------------- Summary: CacheAdmin commands fail when using . as the path Key: HDFS-5513 URL: https://issues.apache.org/jira/browse/HDFS-5513 Project: Hadoop HDFS Issue Type: Bug Components: tools Affects Versions: 3.0.0 Reporter: Stephen Chu Priority: Minor
The hdfs CLI commands generally accept "." as a path argument. e.g. {code} hdfs dfs -rm . hdfs dfsadmin -allowSnapshot . {code} I don't think it's very common to use the path "." but the CacheAdmin commands will fail saying that it cannot create a Path from an empty string. {code} [schu@hdfs-c5-nfs ~]$ hdfs cacheadmin -removeDirectives -path . Exception in thread "main" java.lang.IllegalArgumentException: Can not create a Path from an empty string at org.apache.hadoop.fs.Path.checkPathArg(Path.java:127) at org.apache.hadoop.fs.Path.<init>(Path.java:184) at org.apache.hadoop.hdfs.protocol.PathBasedCacheDirective$Builder.<init>(PathBasedCacheDirective.java:66) at org.apache.hadoop.hdfs.DistributedFileSystem.listPathBasedCacheDirectives(DistributedFileSystem.java:1639) at org.apache.hadoop.hdfs.tools.CacheAdmin$RemovePathBasedCacheDirectivesCommand.run(CacheAdmin.java:365) at org.apache.hadoop.hdfs.tools.CacheAdmin.run(CacheAdmin.java:82) at org.apache.hadoop.hdfs.tools.CacheAdmin.main(CacheAdmin.java:87) [schu@hdfs-c5-nfs ~]$ hdfs cacheadmin -addDirective -path . -pool schu Exception in thread "main" java.lang.IllegalArgumentException: Can not create a Path from an empty string at org.apache.hadoop.fs.Path.checkPathArg(Path.java:127) at org.apache.hadoop.fs.Path.<init>(Path.java:184) at org.apache.hadoop.hdfs.protocol.PathBasedCacheDirective$Builder.<init>(PathBasedCacheDirective.java:66) at org.apache.hadoop.hdfs.DistributedFileSystem.addPathBasedCacheDirective(DistributedFileSystem.java:1598) at org.apache.hadoop.hdfs.tools.CacheAdmin$AddPathBasedCacheDirectiveCommand.run(CacheAdmin.java:180) at org.apache.hadoop.hdfs.tools.CacheAdmin.run(CacheAdmin.java:82) at org.apache.hadoop.hdfs.tools.CacheAdmin.main(CacheAdmin.java:87) {code} -- This message was sent by Atlassian JIRA (v6.1#6144)