hadoop-common-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Doug Cutting (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HADOOP-2066) filenames with ':' colon throws java.lang.IllegalArgumentException
Date Tue, 23 Oct 2007 16:58:51 GMT

    [ https://issues.apache.org/jira/browse/HADOOP-2066?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12537073
] 

Doug Cutting commented on HADOOP-2066:
--------------------------------------

> users expect to be able to specify posix like file strings

Which users?  Not Windows or MacOS X users, since those OSes don't have POSIX file names,
especially when it comes to colons.  Linux users may expect posix names, but Hadoop is cross-platform.

URIs are a good standard for our pathnames, a better standard than POSIX.  URIs can handle
platform-dependent characters like colons just fine.  We have in the past made some exceptions
in URI syntax to simplify platform compatibility.  In particular, we interpret "C:\foo\bar"
as "file:///c:/foo/bar" without requiring escapes.  Perhaps we should continue this trend
further, as Nicholas has proposed, perhaps any exceptions are a mistake, or perhaps we should
not make any new exceptions.  That seems like a reasonable discussion.  But I don't see the
case to abandon URIs entirely as our primary filename syntax specification.  Handling non-portable
filename characters like colons with or without quotation seems a minor issue next to having
an i18n-safe standard that extensibly handles protocols, hosts, ports, etc.  I don't consider
that unwanted baggage.

> 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: 2066_20071022.patch, 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.


Mime
View raw message