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

Steve Loughran commented on HADOOP-5687:
----------------------------------------

I'm going to stick some more tests in -from my experiments we need to have all 
the methods that work out the filesystem fail in ways that are meaningful and 
helpful.

# Telling someone their URI lacks an authority because their default fs is 
file:// certainly finds a symptom of the problem, but misses the point that 
file: URIs are a no-no.
# HADOOP-5140 shows the problem surfaces elsewhere if the URI in the config 
isn't parsable. In that situation you get a fairly meaningless message. If you 
are lucky, the error message is vaguely meaningful -but it wont be enough to 
help someone trying to bring up a cluster work out what the problem is, not 
without them delving into the code and discovering that hadoop was looking up 
fs.default.name at the time 

{code}
Testcase: testHttpNoHostURI took 0.044 sec
        Caused an ERROR
null
java.lang.IllegalArgumentException
        at java.net.URI.create(URI.java:842)
        at org.apache.hadoop.fs.FileSystem.getDefaultUri(FileSystem.java:105)
        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.testHttpNoHostURI(TestNameNodeAddress.java:102)
Caused by: java.net.URISyntaxException: Expected authority at index 7: http://
        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 java.net.URI.create(URI.java:840)

Testcase: testUnexpandedHdfsURI took 0.036 sec
        Caused an ERROR
null
java.lang.IllegalArgumentException
        at java.net.URI.create(URI.java:842)
        at org.apache.hadoop.fs.FileSystem.getDefaultUri(FileSystem.java:105)
        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)
Caused by: java.net.URISyntaxException: Illegal character in authority at index 
7: hdfs://${hostname}/
        at java.net.URI$Parser.fail(URI.java:2809)
        at java.net.URI$Parser.parseAuthority(URI.java:3147)
        at java.net.URI$Parser.parseHierarchical(URI.java:3058)
        at java.net.URI$Parser.parse(URI.java:3014)
        at java.net.URI.<init>(URI.java:578)
        at java.net.URI.create(URI.java:840)
{code}

> 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-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.

Reply via email to