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

Hudson commented on HDFS-8337:
------------------------------

FAILURE: Integrated in Hadoop-trunk-Commit #8040 (See 
[https://builds.apache.org/job/Hadoop-trunk-Commit/8040/])
HDFS-8337. Accessing httpfs via webhdfs doesn't work from a jar with kerberos. 
Contributed by Yongjun Zhang. (yzhang: rev 
971dc838ecf8bf55a9bd64128ce2447e4613ea76)
* 
hadoop-hdfs-project/hadoop-hdfs-httpfs/src/main/java/org/apache/hadoop/fs/http/server/HttpFSAuthenticationFilter.java
* hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
Move HDFS-8337 to branch 2.8 in CHANGES.txt. (yzhang: rev 
20c03c96066752f0a7158846de4d7bc4253e83f6)
* hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt


> Accessing httpfs via webhdfs doesn't work from a jar with kerberos
> ------------------------------------------------------------------
>
>                 Key: HDFS-8337
>                 URL: https://issues.apache.org/jira/browse/HDFS-8337
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: HDFS, hdfs-client, security, webhdfs
>            Reporter: Yongjun Zhang
>            Assignee: Yongjun Zhang
>             Fix For: 2.8.0
>
>         Attachments: HDFS-8337.001.patch, HDFS-8337.002.patch, 
> HDFS-8337.003.patch, HDFS-8337.004.patch
>
>
> In a secure cluster, running a simple program:
> {code}
> import org.apache.hadoop.conf.*; 
> import org.apache.hadoop.fs.*; 
> import org.apache.hadoop.security.*;
> class Foo { 
>   public static void main(String args[]) throws Exception { 
>     FileSystem fs = FileSystem.get(new 
> java.net.URI("webhdfs://<host>:14000/"), new Configuration()); 
>     System.out.println(fs.listStatus(new Path("/"))[0]); 
>     java.io.OutputStream os = fs.create(new Path("/tmp/foo")); 
>     os.write('a'); 
>     os.close(); 
>   } 
> } 
> {code}
> Basically to access httpfs via webhdfs, the following exception is thrown:
> {code}
> [systest@yj52s ~]$ /usr/java/jdk1.7.0_67-cloudera/bin/java -cp $(hadoop 
> classpath):. Foo
> 15/05/06 23:51:38 WARN ssl.FileBasedKeyStoresFactory: The property 
> 'ssl.client.truststore.location' has not been set, no TrustStore will be 
> loaded
> Exception in thread "main" 
> org.apache.hadoop.ipc.RemoteException(com.sun.jersey.api.ParamException$QueryParamException):
>  java.lang.IllegalArgumentException: No enum constant 
> org.apache.hadoop.fs.http.client.HttpFSFileSystem.Operation.GETDELEGATIONTOKEN
>       at 
> org.apache.hadoop.hdfs.web.JsonUtil.toRemoteException(JsonUtil.java:163)
>       at 
> org.apache.hadoop.hdfs.web.WebHdfsFileSystem.validateResponse(WebHdfsFileSystem.java:354)
>       at 
> org.apache.hadoop.hdfs.web.WebHdfsFileSystem.access$200(WebHdfsFileSystem.java:91)
>       at 
> org.apache.hadoop.hdfs.web.WebHdfsFileSystem$AbstractRunner.runWithRetry(WebHdfsFileSystem.java:608)
>       at 
> org.apache.hadoop.hdfs.web.WebHdfsFileSystem$AbstractRunner.access$100(WebHdfsFileSystem.java:458)
>       at 
> org.apache.hadoop.hdfs.web.WebHdfsFileSystem$AbstractRunner$1.run(WebHdfsFileSystem.java:487)
>       at java.security.AccessController.doPrivileged(Native Method)
>       at javax.security.auth.Subject.doAs(Subject.java:415)
>       at 
> org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1614)
>       at 
> org.apache.hadoop.hdfs.web.WebHdfsFileSystem$AbstractRunner.run(WebHdfsFileSystem.java:483)
>       at 
> org.apache.hadoop.hdfs.web.WebHdfsFileSystem.getDelegationToken(WebHdfsFileSystem.java:1299)
>       at 
> org.apache.hadoop.hdfs.web.WebHdfsFileSystem.getDelegationToken(WebHdfsFileSystem.java:237)
>       at 
> org.apache.hadoop.hdfs.web.WebHdfsFileSystem.getAuthParameters(WebHdfsFileSystem.java:423)
>       at 
> org.apache.hadoop.hdfs.web.WebHdfsFileSystem.toUrl(WebHdfsFileSystem.java:444)
>       at 
> org.apache.hadoop.hdfs.web.WebHdfsFileSystem$AbstractFsPathRunner.getUrl(WebHdfsFileSystem.java:691)
>       at 
> org.apache.hadoop.hdfs.web.WebHdfsFileSystem$AbstractRunner.runWithRetry(WebHdfsFileSystem.java:603)
>       at 
> org.apache.hadoop.hdfs.web.WebHdfsFileSystem$AbstractRunner.access$100(WebHdfsFileSystem.java:458)
>       at 
> org.apache.hadoop.hdfs.web.WebHdfsFileSystem$AbstractRunner$1.run(WebHdfsFileSystem.java:487)
>       at java.security.AccessController.doPrivileged(Native Method)
>       at javax.security.auth.Subject.doAs(Subject.java:415)
>       at 
> org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1614)
>       at 
> org.apache.hadoop.hdfs.web.WebHdfsFileSystem$AbstractRunner.run(WebHdfsFileSystem.java:483)
>       at 
> org.apache.hadoop.hdfs.web.WebHdfsFileSystem.listStatus(WebHdfsFileSystem.java:1277)
>       at Foo.main(Foo.java:7)
> {code}
> Thanks [~qwertymaniac] and [~caseyjbrotherton] for reporting the issue.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to