[
https://issues.apache.org/jira/browse/HADOOP-5687?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12712238#action_12712238
]
Steve Loughran commented on HADOOP-5687:
----------------------------------------
also, if fs.default.name=="", it gets patched to be hdfs://, which then fails
later on in the parse phase for having no authority.
I'm patching FileSystem to be more detailed, with something like
{code}
Testcase: testEmptyURI took 0.08 sec
Caused an ERROR
Unable to parse the fs.default.name value of "" patched to be "hdfs://"
:Expected authority at index 7
java.lang.IllegalArgumentException: Unable to parse the fs.default.name value
of "" patched to be "hdfs://" :Expected authority at index 7
at org.apache.hadoop.fs.FileSystem.getDefaultUri(FileSystem.java:114)
at
org.apache.hadoop.hdfs.server.namenode.NameNode.getAddress(NameNode.java:192)
at
org.apache.hadoop.hdfs.TestNameNodeAddress.getAddress(TestNameNodeAddress.java:54)
at
org.apache.hadoop.hdfs.TestNameNodeAddress.testEmptyURI(TestNameNodeAddress.java:90)
Caused by: java.net.URISyntaxException: Expected authority at index 7: hdfs://
at java.net.URI$Parser.fail(URI.java:2809)
at java.net.URI$Parser.failExpecting(URI.java:2815)
at java.net.URI$Parser.parseHierarchical(URI.java:3063)
at java.net.URI$Parser.parse(URI.java:3014)
at java.net.URI.<init>(URI.java:578)
at org.apache.hadoop.fs.FileSystem.getDefaultUri(FileSystem.java:108)
{code}
That is, it prints the patched and unpatched valies if a patching has taken
place.
But not if there is no patching
{code}
Unable to parse the fs.default.name value of "hdfs://${hostname}/" :Illegal
character in authority at index 7
java.lang.IllegalArgumentException: Unable to parse the fs.default.name value
of "hdfs://${hostname}/" :Illegal character in authority at index 7
at org.apache.hadoop.fs.FileSystem.getDefaultUri(FileSystem.java:114)
at
org.apache.hadoop.hdfs.server.namenode.NameNode.getAddress(NameNode.java:192)
at
org.apache.hadoop.hdfs.TestNameNodeAddress.getAddress(TestNameNodeAddress.java:54)
at
org.apache.hadoop.hdfs.TestNameNodeAddress.testUnexpandedHdfsURI(TestNameNodeAddress.java:118
{code}
I will file a separate bugrep against fixnames. This patch changes the
reporting, not the name fixing.
> Hadoop NameNode throws NPE if fs.default.name is the default value
> ------------------------------------------------------------------
>
> Key: HADOOP-5687
> URL: https://issues.apache.org/jira/browse/HADOOP-5687
> Project: Hadoop Core
> Issue Type: Improvement
> Components: dfs
> Reporter: Philip Zeyliger
> Assignee: Philip Zeyliger
> Priority: Minor
> Fix For: 0.21.0
>
> Attachments: HADOOP-5687-extension-1.patch, HADOOP-5687-v3.patch,
> HADOOP-5687-v4.patch, HADOOP-5687-v5.patch, HADOOP-5687-v5.patch,
> HADOOP-5687.patch, HADOOP-5687.patch
>
>
> Throwing NPE is confusing; instead, an exception with a useful string
> description could be thrown instead.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.