[ https://issues.apache.org/jira/browse/HDFS-5513?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Andrew Wang updated HDFS-5513: ------------------------------ Attachment: hdfs-5513-2.patch Rebase patch > 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: caching, tools > Affects Versions: 3.0.0 > Reporter: Stephen Chu > Assignee: Andrew Wang > Priority: Minor > Attachments: hdfs-5513-1.patch, hdfs-5513-2.patch > > > 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)