[
https://issues.apache.org/jira/browse/HDFS-5295?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Arpit Agarwal updated HDFS-5295:
--------------------------------
Attachment: secure-https-part2.07.patch
[~wheat9] you are right that the cancellation call is using the wrong URI.
This patch includes porting remaining changes from HDFS-3461 to use a different
token kind for hsftp and wrap delegation token fetcher connections with doAs().
I verified the fix on a single-node secure cluster with https.
I haven't looked at your patch for HDFS-5392 yet, will do so and we can update
this patch to make your refactoring easier if needed.
> hsftp throws an exception in the end on secure cluster with https enabled
> -------------------------------------------------------------------------
>
> Key: HDFS-5295
> URL: https://issues.apache.org/jira/browse/HDFS-5295
> Project: Hadoop HDFS
> Issue Type: Bug
> Affects Versions: 3.0.0, 2.1.1-beta
> Environment: Secure
> Reporter: Yesha Vora
> Assignee: Arpit Agarwal
> Attachments: secure-https-part2.07.patch
>
>
> The hsftp command throws "java.net.SocketException: Unexpected end of file
> from server" exception in the end in secure environment and with https
> enabled.
> Using https port defined by dfs.https.port=50701
> /usr/bin/hdfs dfs -fs hdfs://hostname:8020 -ls -R
> "hsftp://hostname:50701/user/abc/1380829410/.abc.crc"
> -rw-r--r-- 3 abc abc 12 2013-10-03 19:44
> hsftp://hostname:50701/user/abc/1380829410/.abc.crc
> 13/10/03 19:50:48 INFO tools.DelegationTokenFetcher: error in cancel over HTTP
> java.net.SocketException: Unexpected end of file from server
> at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:718)
> at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:579)
> at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:715)
> at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:579)
> at
> sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1322)
> at
> java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:468)
> at
> org.apache.hadoop.security.authentication.client.KerberosAuthenticator.isNegotiate(KerberosAuthenticator.java:224)
> at
> org.apache.hadoop.security.authentication.client.KerberosAuthenticator.authenticate(KerberosAuthenticator.java:194)
> at
> org.apache.hadoop.security.authentication.client.AuthenticatedURL.openConnection(AuthenticatedURL.java:232)
> at
> org.apache.hadoop.security.SecurityUtil.openSecureHttpConnection(SecurityUtil.java:512)
> at
> org.apache.hadoop.hdfs.tools.DelegationTokenFetcher.cancelDelegationToken(DelegationTokenFetcher.java:354)
> at
> org.apache.hadoop.hdfs.HftpFileSystem$TokenManager.cancel(HftpFileSystem.java:730)
> at org.apache.hadoop.security.token.Token.cancel(Token.java:384)
> at
> org.apache.hadoop.fs.DelegationTokenRenewer$RenewAction.cancel(DelegationTokenRenewer.java:152)
> at
> org.apache.hadoop.fs.DelegationTokenRenewer$RenewAction.access$200(DelegationTokenRenewer.java:58)
> at
> org.apache.hadoop.fs.DelegationTokenRenewer.removeRenewAction(DelegationTokenRenewer.java:241)
> at org.apache.hadoop.hdfs.HftpFileSystem.close(HftpFileSystem.java:417)
> at org.apache.hadoop.fs.FileSystem$Cache.closeAll(FileSystem.java:2524)
> at
> org.apache.hadoop.fs.FileSystem$Cache$ClientFinalizer.run(FileSystem.java:2541)
> at
> org.apache.hadoop.util.ShutdownHookManager$1.run(ShutdownHookManager.java:54)
> 13/10/03 19:50:48 INFO fs.FileSystem: FileSystem.Cache.closeAll() threw an
> exception:
> java.net.SocketException: Unexpected end of file from server
--
This message was sent by Atlassian JIRA
(v6.1#6144)