[
https://issues.apache.org/jira/browse/HADOOP-2066?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12535983
]
szetszwo edited comment on HADOOP-2066 at 10/18/07 10:37 AM:
---------------------------------------------------------------------------
> How do we know what parts are the filename?
Could we assume the URIs are hierarchical URIs (defined in the
[java.net.URI|http://java.sun.com/javase/6/docs/api/java/net/URI.html])? If
yes and we further force the rule that scheme must be specified with authority,
then the syntax will be
[[scheme:]//authority]path
I think the colons can be distinguished in this case.
I agree that the current patch is simple and clean. However, users cannot
perform something like
{code}
> ls
a:b foo
> bin/hadoop fs -put a* baz
{code}
was (Author: szetszwo):
> How do we know what parts are the filename?
Could we assume the URIs are hierarchical URIs (defined in the
[java.net.URI|http://java.sun.com/javase/6/docs/api/java/net/URI.html])? If
yes and we further force the rule that scheme must be specified with authority,
then the syntax will be
[[scheme:]//authority]path
I think the colons can be distinguished in this case.
I agree that the current patch is simple and clean. However, users cannot
perform something like
{code}
> ls
a:b foo
> bin/hadoop fs -put * baz
{code}
> filenames with ':' colon throws java.lang.IllegalArgumentException
> ------------------------------------------------------------------
>
> Key: HADOOP-2066
> URL: https://issues.apache.org/jira/browse/HADOOP-2066
> Project: Hadoop
> Issue Type: Bug
> Components: dfs
> Reporter: lohit vijayarenu
> Attachments: HADOOP-2066.patch
>
>
> File names containing colon ":" throws java.lang.IllegalArgumentException
> while LINUX file system supports it.
> $ hadoop dfs -put ./testfile-2007-09-24-03:00:00.gz filenametest
> Exception in thread "main" java.lang.IllegalArgumentException:
> java.net.URISyntaxException: Relative path in absolute
> URI: testfile-2007-09-24-03:00:00.gz
> at org.apache.hadoop.fs.Path.initialize(Path.java:140)
> at org.apache.hadoop.fs.Path.<init>(Path.java:126)
> at org.apache.hadoop.fs.Path.<init>(Path.java:50)
> at org.apache.hadoop.fs.FileUtil.checkDest(FileUtil.java:273)
> at org.apache.hadoop.fs.FileUtil.copy(FileUtil.java:117)
> at
> org.apache.hadoop.fs.FileSystem.copyFromLocalFile(FileSystem.java:776)
> at
> org.apache.hadoop.fs.FileSystem.copyFromLocalFile(FileSystem.java:757)
> at org.apache.hadoop.fs.FsShell.copyFromLocal(FsShell.java:116)
> at org.apache.hadoop.fs.FsShell.run(FsShell.java:1229)
> at org.apache.hadoop.util.ToolBase.doMain(ToolBase.java:187)
> at org.apache.hadoop.fs.FsShell.main(FsShell.java:1342)
> Caused by: java.net.URISyntaxException: Relative path in absolute URI:
> testfile-2007-09-24-03:00:00.gz
> at java.net.URI.checkPath(URI.java:1787)
> at java.net.URI.<init>(URI.java:735)
> at org.apache.hadoop.fs.Path.initialize(Path.java:137)
> ... 10 more
> Path(String pathString) when given a filename which contains ':' treats it as
> URI and selects anything before ':' as
> scheme, which in this case is clearly not a valid scheme.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.