[
https://issues.apache.org/jira/browse/HDFS-15765?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17699439#comment-17699439
]
ASF GitHub Bot commented on HDFS-15765:
---------------------------------------
saxenapranav commented on code in PR #5447:
URL: https://github.com/apache/hadoop/pull/5447#discussion_r1133411855
##########
hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/web/BasicAuthConfigurator.java:
##########
@@ -33,6 +33,16 @@ public class BasicAuthConfigurator implements
ConnectionConfigurator {
private final ConnectionConfigurator parent;
private final String credentials;
+ static public ConnectionConfigurator getConfigurator(
Review Comment:
Since this method has to be called by URLConnectionFactory which is in same
package. Lets have it package-protected and remove `public`
##########
hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/web/BasicAuthConfigurator.java:
##########
@@ -33,6 +33,16 @@ public class BasicAuthConfigurator implements
ConnectionConfigurator {
private final ConnectionConfigurator parent;
private final String credentials;
+ static public ConnectionConfigurator getConfigurator(
Review Comment:
Should this method be moved to `URLConnectionFactory` class only?
Reason being, when external class calls `
BasicAuthConfigurator.getConfigurator`, to developer it can look that we want
something out of `BasicAuthConfigurator`, but instead it either gives
BasicAuthConfigurator object or parent-configurator object. What you feel?
##########
hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/web/WebHdfsFileSystem.java:
##########
@@ -307,6 +310,20 @@ public StorageStatistics provide() {
return new DFSOpsCountStatistics();
}
});
+ pathPrefix = PATH_PREFIX;
+ boolean useBasePath = conf.getBoolean(
+ HdfsClientConfigKeys.DFS_CLIENT_WEBHDFS_USE_BASE_PATH_KEY,
+ HdfsClientConfigKeys.DFS_CLIENT_WEBHDFS_USE_BASE_PATH_DEFAULT
+ );
+ if (uri.getPath() != null && !uri.getPath().equals("") && useBasePath) {
Review Comment:
although uri can not be null, but better to have null-check on that.
> Add support for Kerberos and Basic Auth in webhdfs
> --------------------------------------------------
>
> Key: HDFS-15765
> URL: https://issues.apache.org/jira/browse/HDFS-15765
> Project: Hadoop HDFS
> Issue Type: Bug
> Components: hadoop-client
> Reporter: Pushpendra Singh
> Priority: Minor
> Labels: pull-request-available
>
> webhdfs's HTTP operation like get ( GetOpParam.java) operation and other HTTP
> operation has 'requireAuth' set to false and expected to work with Delegation
> token only. However, when working with webhdfs over Apache Knox, delegation
> token authentication is not supported, we should support Kerberos
> authentication (SPNEGO) or Basic authentication for WebHdfsFileSystem if user
> turns on a configuration.
> Further webhdfs (WebHDFSFileSystem.java) is calling 'public URLConnection
> openConnection(URL url)' and providing no way to use the kerberos
> authentication, if configured.
> Even after setting the UserGroupInformation with user name and keytab,
> openConnection is not using the keytab for authentication.
> Also WebHdfsFileSystem doesn't provide any support for HTTP BASIC
> authentication (username/password). Provide support to read the password via
> environment variable.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]