You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-commits@hadoop.apache.org by ji...@apache.org on 2012/02/04 08:02:30 UTC
svn commit: r1240461 - in
/hadoop/common/branches/branch-0.23/hadoop-hdfs-project/hadoop-hdfs:
CHANGES.txt src/main/java/org/apache/hadoop/hdfs/web/WebHdfsFileSystem.java
Author: jitendra
Date: Sat Feb 4 07:02:30 2012
New Revision: 1240461
URL: http://svn.apache.org/viewvc?rev=1240461&view=rev
Log:
Merged r1240460 from trunk for HDFS-2785.
Modified:
hadoop/common/branches/branch-0.23/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
hadoop/common/branches/branch-0.23/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/web/WebHdfsFileSystem.java
Modified: hadoop/common/branches/branch-0.23/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.23/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt?rev=1240461&r1=1240460&r2=1240461&view=diff
==============================================================================
--- hadoop/common/branches/branch-0.23/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt (original)
+++ hadoop/common/branches/branch-0.23/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt Sat Feb 4 07:02:30 2012
@@ -104,6 +104,9 @@ Release 0.23.1 - UNRELEASED
HDFS-2784. Update hftp and hdfs for host-based token support.
(Kihwal Lee via jitendra)
+ HDFS-2785. Update webhdfs and httpfs for host-based token support.
+ (Robert Joseph Evans via jitendra)
+
OPTIMIZATIONS
HDFS-2130. Switch default checksum to CRC32C. (todd)
Modified: hadoop/common/branches/branch-0.23/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/web/WebHdfsFileSystem.java
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.23/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/web/WebHdfsFileSystem.java?rev=1240461&r1=1240460&r2=1240461&view=diff
==============================================================================
--- hadoop/common/branches/branch-0.23/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/web/WebHdfsFileSystem.java (original)
+++ hadoop/common/branches/branch-0.23/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/web/WebHdfsFileSystem.java Sat Feb 4 07:02:30 2012
@@ -141,6 +141,7 @@ public class WebHdfsFileSystem extends F
private final UserGroupInformation ugi;
private InetSocketAddress nnAddr;
+ private URI uri;
private Token<?> delegationToken;
private final AuthenticatedURL.Token authToken = new AuthenticatedURL.Token();
private Path workingDir;
@@ -158,7 +159,11 @@ public class WebHdfsFileSystem extends F
) throws IOException {
super.initialize(uri, conf);
setConf(conf);
-
+ try {
+ this.uri = new URI(uri.getScheme(), uri.getAuthority(), null, null, null);
+ } catch (URISyntaxException e) {
+ throw new IllegalArgumentException(e);
+ }
this.nnAddr = NetUtils.createSocketAddr(uri.toString());
this.workingDir = getHomeDirectory();
@@ -203,12 +208,7 @@ public class WebHdfsFileSystem extends F
@Override
public URI getUri() {
- try {
- return new URI(SCHEME, null, nnAddr.getHostName(), nnAddr.getPort(),
- null, null, null);
- } catch (URISyntaxException e) {
- return null;
- }
+ return this.uri;
}
/** @return the home directory. */
@@ -810,8 +810,7 @@ public class WebHdfsFileSystem extends F
final Token<?> token, final Configuration conf
) throws IOException, InterruptedException, URISyntaxException {
- final InetSocketAddress nnAddr = NetUtils.createSocketAddr(
- token.getService().toString());
+ final InetSocketAddress nnAddr = SecurityUtil.getTokenServiceAddr(token);
final URI uri = DFSUtil.createUri(WebHdfsFileSystem.SCHEME, nnAddr);
return (WebHdfsFileSystem)FileSystem.get(uri, conf);
}
@@ -821,7 +820,7 @@ public class WebHdfsFileSystem extends F
) throws IOException, InterruptedException {
final UserGroupInformation ugi = UserGroupInformation.getLoginUser();
// update the kerberos credentials, if they are coming from a keytab
- ugi.checkTGTAndReloginFromKeytab();
+ ugi.reloginFromKeytab();
try {
WebHdfsFileSystem webhdfs = getWebHdfs(token, conf);