You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-dev@hadoop.apache.org by "Arpit Agarwal (JIRA)" <ji...@apache.org> on 2013/11/11 03:53:17 UTC
[jira] [Resolved] (HDFS-5275) Target port chosen by Hftp/Hsftp for
getting delegation token may be incorrect
[ https://issues.apache.org/jira/browse/HDFS-5275?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Arpit Agarwal resolved HDFS-5275.
---------------------------------
Resolution: Invalid
This was cleaned up as part of HDFS-5255. Thanks for checking. I have resolved it.
> Target port chosen by Hftp/Hsftp for getting delegation token may be incorrect
> ------------------------------------------------------------------------------
>
> Key: HDFS-5275
> URL: https://issues.apache.org/jira/browse/HDFS-5275
> Project: Hadoop HDFS
> Issue Type: Bug
> Components: security
> Affects Versions: 3.0.0
> Reporter: Arpit Agarwal
> Assignee: Haohui Mai
>
> The port selection to get the delegation token is confusing. Also the code documentation and tests appear to conflict.
> The comment in {{HftpFileSystem#getCanonicalServiceName}} seems to indicate that the configured secure port should be chosen, ignoring the port from the URI.
> {code}
> public String getCanonicalServiceName() {
> // unlike other filesystems, hftp's service is the secure port, not the
> // actual port in the uri
> return SecurityUtil.buildTokenService(nnSecureUri).toString();
> }
> {code}
> However {{TestHftpFileSystem#testHsftpCustomUriPortWithCustomDefaultPorts}} tests that the returned port is the one from the URI.
> {code}
> @Test
> public void testHsftpCustomUriPortWithCustomDefaultPorts() throws IOException {
> conf.setInt(DFSConfigKeys.DFS_NAMENODE_HTTPS_PORT_KEY, 456);
> URI uri = URI.create("hsftp://localhost:789");
> HsftpFileSystem fs = (HsftpFileSystem) FileSystem.get(uri, conf);
> assertEquals(456, fs.getDefaultPort());
> assertEquals(456, fs.getDefaultSecurePort());
> assertEquals(uri, fs.getUri());
> assertEquals(
> "127.0.0.1:789",
> fs.getCanonicalServiceName()
> );
> }
> {code}
> The test still passes because {{HsftpFileSystem}} (incorrectly?) overrides {{getNamenodeSecureAddr}}.
> Either the code needs to be fixed or we should document the correct behavior.
--
This message was sent by Atlassian JIRA
(v6.1#6144)