[
https://issues.apache.org/jira/browse/HADOOP-14199?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15932488#comment-15932488
]
Steve Loughran commented on HADOOP-14199:
-----------------------------------------
It's an OS that doesn't yet you create files called "COM2", which was notorious
for causing problems with microsoft's own COM2 project, hence COM+ and OLE2.
One of the windows funnies is about asking for unicode vs non UC names, there's
this trick of having paths beginning \\?\ the start, as mentioned in
[::CreateFile|https://msdn.microsoft.com/en-us/library/windows/desktop/aa363858(v=vs.85).aspx].
I think Java switched to that way, way back -without it you couldn't have
paths > 256 chars long. (see [http://bugs.java.com/view_bug.do?bug_id=4403166])
so: I don't trust windows filename logic to make any sense whatsoever.
But it could be as you say, escaping. Except, the "\b and "\t" conversion is
happening in the java string, isn't it? By the time it goes down the stack,
it'll be as an array of unicode characters. If it is being turned back into \,
then that's a bug. Actually, there's a way to test that, isn't there: have a
string declaring a unicode char code which is a normal ascii string \u0065 =
"a" (correct?), then assert that the returned filename has an "a" in it
Now, one thing to consider here is: how much do we care about NTFS path listing
when there are invalid bits in there? As really the test case is using the
local FS verify that odd chars are handled when listing HDFS files. You want to
do an ls of a local directory, use "DIR" over the hadoop CLI.
> TestFsShellList.testList fails on windows: illegal filenames
> ------------------------------------------------------------
>
> Key: HADOOP-14199
> URL: https://issues.apache.org/jira/browse/HADOOP-14199
> Project: Hadoop Common
> Issue Type: Bug
> Components: test
> Affects Versions: 2.8.0
> Environment: win64
> Reporter: Steve Loughran
> Assignee: John Zhuge
> Priority: Minor
>
> {{TestFsShellList.testList}} fails setting up the files to test against
> {code}
> org.apache.hadoop.io.nativeio.NativeIOException: The filename, directory
> name, or volume label syntax is incorrect.
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]