[ https://issues.apache.org/jira/browse/HADOOP-8139?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13225672#comment-13225672 ]
Doug Cutting commented on HADOOP-8139: -------------------------------------- I don't understand the motivation for (1) over (3). When would a non-windows user want subbing? When would a Windows user not require it? (2) will probably require changes to more than RawLocalFileSystem. You won't know unless you try to run things on Windows. Last time I worked on this (years ago) I was surprised at the number of places that paths with backslashes crept in. This is probably the best long-term approach, but it may be a lot of work to stomp all the bugs. (4) Is simplest, but system-dependent escapes would be unfortunate. I don't see a clear winner. I prefer (2) or (4) to (1) or (3): if the ability to escape paths is a critical feature for Unix users then it's probably a critical feature for Windows users. > Path does not allow metachars to be escaped > ------------------------------------------- > > Key: HADOOP-8139 > URL: https://issues.apache.org/jira/browse/HADOOP-8139 > Project: Hadoop Common > Issue Type: Bug > Components: fs > Affects Versions: 0.23.0, 0.24.0 > Reporter: Daryn Sharp > Assignee: Daryn Sharp > Priority: Blocker > Attachments: HADOOP-8139-2.patch, HADOOP-8139.patch, HADOOP-8139.patch > > > Path converts "\" into "/", probably for windows support? This means it's > impossible for the user to escape metachars in a path name. Glob expansion > can have deadly results. > Here are the most egregious examples. A user accidentally creates a path like > "/user/me/*/file". Now they want to remove it. > {noformat}"hadoop fs -rmr -skipTrash '/user/me/\*'" becomes... > "hadoop fs -rmr -skipTrash /user/me/*"{noformat} > * User/Admin: Nuked their home directory or any given directory > {noformat}"hadoop fs -rmr -skipTrash '\*'" becomes... > "hadoop fs -rmr -skipTrash /*"{noformat} > * User: Deleted _everything_ they have access to on the cluster > * Admin: *Nukes the entire cluster* > Note: FsShell is shown for illustrative purposes, however the problem is in > the Path object, not FsShell. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira