[
https://issues.apache.org/jira/browse/HADOOP-15860?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16725538#comment-16725538
]
Sean Mackrory commented on HADOOP-15860:
----------------------------------------
So there's a checkstyle issue to fix (space before the '(') and a number of
other minor whitespace issues like inconsistent spacing before '{'s. Can you
also revisit the exception messages? Currently they're not entirely correct.
For example, I'd make the following changes:
* "Cannot create a Path with names that end with a dot" -> "ABFS does not allow
files or directories to end with a dot"
* "Path does not have a trailing period." -> "Attempt to create file that ended
with a dot should throw IllegalArgumentException"
Also, it occurred to me that mkdirs is recursive. Someone could pass
"/dir1/dir2./dir3/" when none of them exist and we wouldn't stop them.
When playing around with these tests to see what happened in various cases I
got a couple of exceptions for files already existing. There's 2 reasons for
that:
* It might be that one test run was hitting data from the previous run. Let's
replace our use of "new Path()" with "path()". It's a helper function in the
parent classes that gives you a path inside a randomized subdirectory to help
prevent this. All tests should actually do this, but let's just fix the new
ones for now.
* Let's add a comment about the actual problem here. (a) Microsoft says you
shouldn't do this, and (b) if you do it anyway, /this./path. and /this/path are
treated as identical in some cases. This is potentially problematic if anyone
messes with the tests since the 2 paths in each of your tests would be equals.
So let's have a clear comment about this and I'll elaborate in the commit
message too.
> ABFS: Throw IllegalArgumentException when Directory/File name ends with a
> period(.)
> -----------------------------------------------------------------------------------
>
> Key: HADOOP-15860
> URL: https://issues.apache.org/jira/browse/HADOOP-15860
> Project: Hadoop Common
> Issue Type: Sub-task
> Components: fs/adl
> Affects Versions: 3.2.0
> Reporter: Sean Mackrory
> Assignee: Shweta
> Priority: Major
> Attachments: HADOOP-15860.001.patch, HADOOP-15860.002.patch,
> trailing-periods.patch
>
>
> If you create a directory with a trailing period (e.g. '/test.') the period
> is silently dropped, and will be listed as simply '/test'. '/test.test'
> appears to work just fine.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]