hadoop-common-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Aaron T. Myers (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HADOOP-9617) HA HDFS client is too strict with validating URI authorities
Date Sat, 08 Jun 2013 00:04:20 GMT

     [ https://issues.apache.org/jira/browse/HADOOP-9617?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Aaron T. Myers updated HADOOP-9617:
-----------------------------------

    Attachment: HADOOP-9617.patch

Thanks a lot for the comments, Daryn and Todd. I took Daryn's suggestion of changing DistributedFileSystem#canonicalizeUri
to call FileSystem#canonicalizeUri in the event of a logical URI, which I think should cover
all the bases. I also created a new test case to suit, which is restricted to just DistributedFileSystem.

Please have a look.
                
> 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-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

Mime
View raw message