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

Todd Lipcon commented on HADOOP-9617:
-------------------------------------

[~daryn] -- maybe the reason why your code isn't taking effect is that we 
explicitly _don't_ call {{NetUtils.getCanonicalUri(...)}} for the case of 
logical authorities?
                
> HA HDFS client is too strict with validating URI authorities
> ------------------------------------------------------------
>
>                 Key: HADOOP-9617
>                 URL: https://issues.apache.org/jira/browse/HADOOP-9617
>             Project: Hadoop Common
>          Issue Type: Bug
>          Components: fs, ha
>    Affects Versions: 2.0.5-alpha
>            Reporter: Aaron T. Myers
>            Assignee: Aaron T. Myers
>         Attachments: HADOOP-9617.patch
>
>
> HADOOP-9150 changed the way FS URIs are handled to prevent attempted DNS 
> resolution of logical URIs. This has the side effect of changing the way 
> Paths are verified when passed to a FileSystem instance created with an 
> authority that differs from the authority of the Path. Previous to 
> HADOOP-9150, a default port would be added to either authority in the event 
> that either URI did not have a port. Post HADOOP-9150, no default port is 
> added. This means that a FileSystem instance created using the URI 
> "hdfs://ha-logical-uri:8020" will no longer process paths containing just the 
> authority "hdfs://ha-logical-uri", and will throw an error like the following:
> {noformat}
> java.lang.IllegalArgumentException: Wrong FS: 
> hdfs://ns1/user/hive/warehouse/sample_07/sample_07.csv, expected: 
> hdfs://ns1:8020
>       at org.apache.hadoop.fs.FileSystem.checkPath(FileSystem.java:625)
>       at 
> org.apache.hadoop.hdfs.DistributedFileSystem.getPathName(DistributedFileSystem.java:173)
>       at 
> org.apache.hadoop.hdfs.DistributedFileSystem.open(DistributedFileSystem.java:249)
>       at 
> org.apache.hadoop.hdfs.DistributedFileSystem.open(DistributedFileSystem.java:82)
> {noformat}
> Though this is not necessarily incorrect behavior, it is a 
> backward-incompatible change that at least breaks certain clients' ability to 
> connect to an HA HDFS cluster.

--
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