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

Hudson commented on HADOOP-17011:
---------------------------------

SUCCESS: Integrated in Jenkins build Hadoop-trunk-Commit #18204 (See 
[https://builds.apache.org/job/Hadoop-trunk-Commit/18204/])
HADOOP-17011. Tolerate leading and trailing spaces in fs.defaultFS. (liuml07: 
rev 263c76b678275dfff867415c71ba9dc00a9235ef)
* (edit) 
hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileContext.java
* (edit) 
hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileSystem.java
* (edit) 
hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/shell/FsCommand.java
* (edit) 
hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-uploader/src/main/java/org/apache/hadoop/mapred/uploader/FrameworkUploader.java
* (edit) 
hadoop-hdfs-project/hadoop-hdfs-httpfs/src/main/java/org/apache/hadoop/lib/service/hadoop/FileSystemAccessService.java
* (edit) 
hadoop-tools/hadoop-gridmix/src/main/java/org/apache/hadoop/mapred/gridmix/ClusterSummarizer.java
* (edit) 
hadoop-hdfs-project/hadoop-hdfs-httpfs/src/main/java/org/apache/hadoop/fs/http/server/HttpFSServerWebApp.java
* (edit) 
hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-common/src/main/java/org/apache/hadoop/mapreduce/v2/jobhistory/JobHistoryUtils.java
* (edit) 
hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/NameNodeUtils.java


> Tolerate leading and trailing spaces in fs.defaultFS
> ----------------------------------------------------
>
>                 Key: HADOOP-17011
>                 URL: https://issues.apache.org/jira/browse/HADOOP-17011
>             Project: Hadoop Common
>          Issue Type: Bug
>          Components: common
>            Reporter: Ctest
>            Assignee: Ctest
>            Priority: Major
>             Fix For: 3.4.0
>
>         Attachments: HADOOP-17011-001.patch, HADOOP-17011-002.patch, 
> HADOOP-17011-003.patch, HADOOP-17011-004.patch, HADOOP-17011-005.patch
>
>
> *Problem:*
> Currently, `getDefaultUri` is using `conf.get` to get the value of 
> `fs.defaultFS`, which means that the trailing whitespace after a valid URI 
> won’t be removed and could stop namenode and datanode from starting up.
>  
> *How to reproduce (Hadoop-2.8.5):*
> Set the configuration
> {code:java}
> <property>
>      <name>fs.defaultFS</name>
>      <value>hdfs://localhost:9000 </value>
> </property>{code}
> In core-site.xml (there is a whitespace after 9000) and start HDFS.
> Namenode and datanode won’t start and the log message is:
> {code:java}
> 2020-04-23 11:09:48,198 ERROR 
> org.apache.hadoop.hdfs.server.namenode.NameNode: Failed to start namenode.
> java.lang.IllegalArgumentException: Illegal character in authority at index 
> 7: hdfs://localhost:9000 
>     at java.net.URI.create(URI.java:852)
>     at 
> org.apache.hadoop.hdfs.server.namenode.NameNode.setClientNamenodeAddress(NameNode.java:440)
>     at 
> org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:897)
>     at 
> org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:885)
>     at 
> org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1626)
>     at 
> org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1694)
> Caused by: java.net.URISyntaxException: Illegal character in authority at 
> index 7: hdfs://localhost:9000 
>     at java.net.URI$Parser.fail(URI.java:2848)
>     at java.net.URI$Parser.parseAuthority(URI.java:3186)
>     at java.net.URI$Parser.parseHierarchical(URI.java:3097)
>     at java.net.URI$Parser.parse(URI.java:3053)
>     at java.net.URI.<init>(URI.java:588)
>     at java.net.URI.create(URI.java:850)
>     ... 5 more
> {code}
>  
> *Solution:*
> Use `getTrimmed` instead of `get` for `fs.defaultFS`:
> {code:java}
> public static URI getDefaultUri(Configuration conf) {
>   URI uri =
>     URI.create(fixName(conf.getTrimmed(FS_DEFAULT_NAME_KEY, DEFAULT_FS)));
>   if (uri.getScheme() == null) {
>     throw new IllegalArgumentException("No scheme in default FS: " + uri);
>   }
>   return uri;
> }
> {code}
> I have submitted a patch for trunk about this.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to