Return-Path: X-Original-To: apmail-hadoop-common-issues-archive@minotaur.apache.org Delivered-To: apmail-hadoop-common-issues-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 34D089D8E for ; Fri, 9 Mar 2012 18:09:28 +0000 (UTC) Received: (qmail 88053 invoked by uid 500); 9 Mar 2012 18:09:27 -0000 Delivered-To: apmail-hadoop-common-issues-archive@hadoop.apache.org Received: (qmail 87999 invoked by uid 500); 9 Mar 2012 18:09:27 -0000 Mailing-List: contact common-issues-help@hadoop.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: common-issues@hadoop.apache.org Delivered-To: mailing list common-issues@hadoop.apache.org Received: (qmail 87917 invoked by uid 99); 9 Mar 2012 18:09:27 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 09 Mar 2012 18:09:27 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED,T_RP_MATCHES_RCVD X-Spam-Check-By: apache.org Received: from [140.211.11.116] (HELO hel.zones.apache.org) (140.211.11.116) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 09 Mar 2012 18:09:25 +0000 Received: from hel.zones.apache.org (hel.zones.apache.org [140.211.11.116]) by hel.zones.apache.org (Postfix) with ESMTP id 7B68F16101 for ; Fri, 9 Mar 2012 18:09:04 +0000 (UTC) Date: Fri, 9 Mar 2012 18:09:04 +0000 (UTC) From: "Suresh Srinivas (Commented) (JIRA)" To: common-issues@hadoop.apache.org Message-ID: <269317791.44483.1331316544506.JavaMail.tomcat@hel.zones.apache.org> In-Reply-To: <393232168.22994.1330968477181.JavaMail.tomcat@hel.zones.apache.org> Subject: [jira] [Commented] (HADOOP-8139) Path does not allow metachars to be escaped MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/HADOOP-8139?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13226274#comment-13226274 ] Suresh Srinivas commented on HADOOP-8139: ----------------------------------------- bq. If it's windows and it's a local filesystem URI, do the os-specific subbing. I already had raised a few issues with this approach. Let me state it again: # Applications with paths using / as separator could be used from/on Unix/Windows: #* Some times \ becomes escape character and some times separator. That means the problem stated in this jira some times happens and some times not! We could argue that it is better than what we have today - that is - every time \ is misinterpreted as path separator. Still, this will be very confusing for the users. The only way to around this, I can see is, all users running apps on Unix must use / and windows use \ as separators, which is even more confusing. # Applications with paths using \ as separator could be used from/on Unix/Windows: #* Here on windows, things works. The same path will not work at all for Unix! I feel we should consider removing support for paths using \ as separator. Some of the arguments around RawLocalFileSystem, I have hard time following, may be because I have not seen them. > 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