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

Andrew Wang commented on HADOOP-9357:
-------------------------------------

Hi Sanjay,

Thanks for taking a look, I understand and agree with most of your points. I 
created this JIRA after some end user confusion when porting an app from 
FileSystem to FileContext. I felt that URIs like {{hdfs:///tmp}} should be 
discouraged but supported, since they are supported by FileSystem, and this 
case is specifically mentioned in the RFC as an okay fallback.

A couple potentially clarifying points:

bq. A user wanting /tmp on the default file system should say "/tmp" and not 
"hdfs:///tmp".

This code triggers when the schema matches the schema of the default FS. 
{{hdfs:///tmp}} will only work if the default FS is an HDFS instance.

bq. While the notion of a default file system is very appropriate, the notion 
of default authority per scheme does not make sense, especially if it is 
derived from the default file system.

There is not a default authority per scheme, as per the previous.

bq. In a multi-cluster environment, getting in the default authority/port from 
the default file system can lead to accessing the files at the wrong HDFS 
cluster/volume...
bq. If you encourage the use of hdfs:///tmp then as you change your default 
file system from hdfs to localfs...

I agree there could be ambiguity if you have multiple FS with the same schema, 
or change the default FS.

Moving toward a meta question, we already have all these problems with 
FileSystem, which is the dominant interface to HDFS. Have we encountered these 
problems in FileSystem with ambiguity and changing the default FS? I at least 
haven't heard of any, but I did see the mail that led to this JIRA.
                
> Fallback to default authority if not specified in FileContext
> -------------------------------------------------------------
>
>                 Key: HADOOP-9357
>                 URL: https://issues.apache.org/jira/browse/HADOOP-9357
>             Project: Hadoop Common
>          Issue Type: Bug
>            Reporter: Andrew Wang
>            Assignee: Andrew Wang
>            Priority: Minor
>             Fix For: 2.0.4-alpha
>
>         Attachments: hadoop-9357-1.patch, hadoop-9357-2.patch, 
> hadoop-9357-3.patch, hadoop-9357-testfixup.patch
>
>
> Currently, FileContext adheres rather strictly to RFC2396 when it comes to 
> parsing absolute URIs (URIs with a scheme). If a user asks for a URI like 
> "hdfs:///tmp", FileContext will error while FileSystem will add the authority 
> of the default FS (e.g. turn it into "hdfs://defaultNN:port/tmp"). 
> This is technically correct, but FileSystem's behavior is nicer for users and 
> okay based on 5.2.3 in the RFC, so lets do it in FileContext too:
> {noformat}
> For backwards
> compatibility, an implementation may work around such references
> by removing the scheme if it matches that of the base URI and the
> scheme is known to always use the  syntax.  The parser
> can then continue with the steps below for the remainder of the
> reference components.  Validating parsers should mark such a
> misformed relative reference as an error.
> {noformat}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to